un index es una estructura de base de datos que puede ayudar a acelerar el acceso a las filas individuales de la base de datos, cuando la búsqueda basada en el campo (s) en el índice.
En su ejemplo, la instrucción CREATE INDEX
crea un índice llamado tags_tag
en la tabla tags
utilizando la columna tag
. Si desea buscar filas de la tabla según el campo tag
, la base de datos puede usar el índice para buscar la fila de manera más eficiente. Sin un índice, la base de datos podría tener que recurrir a un análisis completo de la tabla, lo que puede llevar mucho más tiempo (dependiendo de muchos factores, como el tamaño de la tabla, la distribución de valores, los criterios de consulta exactos). Las diferentes bases de datos también admiten diferentes tipos de índices, que se pueden usar para buscar datos de diferentes maneras.
También hay una desventaja de los índices: para cada índice, las velocidades de escritura disminuyen para esa tabla. Si inserta una fila, tener un índice significa que, además de la escritura de la base de datos en la misma fila, también deberá actualizar el índice.
Decidir qué columnas poner un índice puede ser complicado, y como siempre, los puntos de referencia o las consultas en el mundo real con datos del mundo real son la forma más precisa de medir el rendimiento. En general, querrá índices en las columnas que va a buscar. Entonces, si es probable que desee buscar una fila por tag
, entonces definitivamente tiene sentido poner un índice allí. Pero si tiene una libreta de direcciones, es probable que (probablemente) no tenga que buscar en la calle, código postal o número de teléfono, por lo que no valdrá la pena el rendimiento de escritura.
La (s) columna (s) de clave principal casi siempre tendrán un índice generado automáticamente por la base de datos. Y si desea mantener los valores de una columna en particular como únicos, se puede crear un UNIQUE INDEX
para aplicar esto.
This AS Pregunta pregunta acerca de las reglas generales para los índices de la base de datos, que pueden ser útiles.
¿Qué les pasa a las personas que rechazan preguntas como esta? Esta es una pregunta perfectamente válida y, de hecho, hay muchas personas que * piensan * que saben todo sobre las bases de datos y no pueden explicar cómo funciona un índice. –