Un índice SQL no es tan diferente de un índice de libro normal con una lista curada de información y dónde puede encontrarla.
En este tutorial, discutiremos cuándo crear un índice SQL porque, aunque los índices pueden ayudar a optimizar el rendimiento, también pueden causar un rendimiento lento y otros impactos negativos. También discutiremos cómo crear un índice utilizando una base de datos real.
Comencemos:
Cuándo crear un índice en mysql?
Desafortunadamente, no tengo una respuesta directa para cuándo debe crear un índice. Sin embargo, algunos escenarios y factores pueden influir en la creación de un índice. Es bueno tener en cuenta que es posible que tenga que hacer algunas compensaciones al crear un índice
Los anteriores son algunos de los conceptos clave que pueden entrar en juego al decidir cuándo crear un índice de base de datos.
Si desea obtener más información sobre cómo MySQL usa índices, considere leer el recurso proporcionado a continuación:
https: // dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html
Uso básico de índices mysql
Por defecto, una vez que crea una tabla con una clave principal, MySQL crea automáticamente un índice especial llamado primario, almacenado con los datos. Esto se conoce típicamente como un índice agrupado.
Para crear un índice en MySQL, podemos usar la sintaxis que se muestra a continuación:
Crear índice index_name en tbl_name (cols);Comenzamos llamando a la cláusula Crear índice, seguido del nombre del índice que deseamos crear. Luego especificamos la tabla donde reside el índice y finalmente las columnas.
También puede crear un índice al crear una tabla, como se muestra en la sintaxis a continuación:
Crear tabla TBL_NAME (Col1, Col2, Col3, índice (Col1, Col2));NOTA: El tipo de índice MySQL predeterminado es un BTree a menos que se especifique explícitamente.
Caso de uso de ejemplo
Usando un ejemplo, permítame ilustrar cómo podemos crear un índice para la tabla específica para mejorar el rendimiento.
Usaré la tabla de películas en la base de datos de los empleados. Puede encontrar el recurso en la página de recursos a continuación:
https: // dev.mysql.com/doc/index-other.html
Primero, veamos el proceso detrás de escena que MySQL usa para procesar una declaración de selección simple donde el género es igual a F.
Explique SELECT EMP_NO, First_Name, Last_Name de los empleados donde género = 'f';Dado el tamaño de la tabla y los datos consultados, escanear más de 200,000 filas no es muy eficiente. En ese caso, podemos reducir este valor creando un índice.
Para crear un índice, podemos hacer:
Crear género índice en los empleados (género);Una vez que tengamos el índice creado, MySQL escaneará los valores como se muestra en la salida anterior.
Conclusión
Espero que este tutorial le haya dado una comprensión más profunda del uso de índices MySQL para mejorar el rendimiento de la base de datos.
Gracias por leer.