¿Qué se entiende por “indexar” un campo de base de datos?

En muchas bases de datos, hay una función de optimización del rendimiento llamada “índice”. Es una función por tabla, puede haber más de una por tabla y puede aplicarse a más de una columna (pero generalmente a una sola).

Es una compensación de espacio-tiempo, en la que intercambia espacio en disco y escribe tiempo para lecturas más rápidas.

Indizar un campo de base de datos significa agregar un índice que involucre ese campo a la tabla de ese campo.

Si hubiera una tabla de frutas con las columnas [nombre, peso, región] y le dijera que indexara la columna de nombre, agregaría un índice a la tabla de fruta “sobre” la columna de nombre .

Internamente, los índices son como tablas ordenadas (es decir, el campo indexado se ordena alfabéticamente, tal vez se invierte alfabéticamente). Hacen que la búsqueda de registros por el campo indexado sea más rápida. Las consultas similares en la tabla de frutas “donde el nombre es ‘naranja'” ahora son más rápidas con un índice en el nombre.

Significa crear una disposición de pares clave-puntero junto a la tabla original; la disposición está ordenada por las teclas; las claves son copias de los campos de las columnas indexadas; los punteros apuntan a los registros que contienen los campos idénticos a las claves. Al buscar por índice, el DBMS localiza rápidamente las claves primero, luego, siguiendo los punteros del asistente, recupera los registros originales. Dado que los arreglos ordenados permiten utilizar algoritmos de búsqueda de alto rendimiento, el índice mejora en gran medida la velocidad de consulta.

La respuesta anterior enfatiza la brevedad. Las explicaciones detalladas en internet son muchas; los escritos con elocuencia son pocos. Si puedes escribir una respuesta más elocuente y más sucinta, te reto a que la publiques aquí.