Sintaxis:
La sintaxis del índice de fuerza se da a continuación.
SELECCIONAR *Aquí, el index_list contendrá uno o más nombres de columnas de table_name utilizados para buscar.
Requisitos previos:
Debe crear una tabla de base de datos con datos en una base de datos MySQL para verificar la función de índice de fuerza de MySQL. Abra el terminal y conéctese con el servidor MySQL ejecutando el siguiente comando.
$ sudo mysql -u root
Ejecute el siguiente comando para crear una base de datos llamada test_db.
Crear base de datos test_db;Ejecute el siguiente comando para seleccionar la base de datos.
Usar test_db;Ejecute la siguiente consulta para crear una tabla llamada empleados con cinco campos.
Crear tabla 'empleados' (Ejecute la siguiente consulta de inserción para agregar seis valores a la tabla de empleados.
Insertar en 'empleados' ('id', 'nombre', 'publicar', 'unirse_date', 'salario') valoresEjemplo-1: verifique el índice predeterminado
Cuando se crea una tabla, la clave principal se definirá como un índice de forma predeterminada. Ejecute el siguiente comando para verificar la lista de índices actual de los empleados.
Mostrar índices de los empleados;Producción:
La siguiente salida aparecerá después de ejecutar la consulta anterior. La salida muestra que el Btree Se ha asignado el índice para el identificación campo de la empleados mesa.
Si no se asigna ningún índice para el salario campo de la empleados tabla Después de crear la tabla, luego todos los registros de la tabla serán escaneados por el optimizador de consultas para la siguiente consulta. El Explicar La palabra clave se usa aquí para obtener la información de ejecución de la consulta de selección.
Explique SELECT * de los empleadosProducción:
La siguiente salida aparecerá después de ejecutar la consulta anterior. La salida muestra que se requirieron todas las filas para ejecutar la consulta y filtrar datos de la empleados mesa.
Ejemplo-2: verifique la ejecución de la consulta después de crear el índice
Tienes que definir el índice para el salario campo de la empleados tabla para optimizar la consulta correctamente. Ejecute la siguiente consulta para crear el índice para el salario campo de la empleado mesa.
Crear índice index_salary en empleados (salario);Ejecute el siguiente comando nuevamente para verificar el estado del índice actual de la tabla de empleados.
Mostrar índices de los empleados;Producción:
La siguiente salida aparecerá después de ejecutar el comando anterior. La salida muestra que ahora hay dos índices BTree en la tabla de empleados.
Ejecute la consulta de selección anterior nuevamente para verificar la información de ejecución de la consulta. La salida de la declaración de explicación puede no ser precisa para la tabla que contiene pocos registros o puede variar para diferentes ejecuciones. Es mejor agregar registros grandes a la tabla para obtener el resultado aproximadamente correcto.
Explique SELECT * de los empleadosProducción:
La siguiente salida aparecerá después de ejecutar la consulta anterior. La salida muestra que se requirieron 4 filas para ejecutar la consulta y filtrar los datos del empleados mesa. Según la salida, el tiempo de ejecución de la consulta es 0.04 segundos que accedieron a 4 filas para obtener la salida.
Ejemplo-3: verifique la ejecución de la consulta después de usar el índice de fuerza
El optimizador de consulta utilizará el índice definido o no que depende de la condición de la consulta, el número de registros de la consulta y el número de filas coincidentes de la tabla en función de la condición.
Ejecute la siguiente consulta para obligar al optimizador de consulta a usar el índice_salary índice en el momento de la ejecución de la consulta. El Índice de fuerza La declaración se usa antes de la cláusula WHERE de la consulta selecta para obligar al optimizador de consulta a usar el índice_salary índice.
Explique SELECT * de los empleadosProducción:
La siguiente salida aparecerá después de ejecutar la consulta anterior. La salida muestra que se requirieron 4 filas para ejecutar la consulta y filtrar los datos del empleados mesa. Según la salida, el tiempo de ejecución de la consulta es 0.00 segundos que accedieron a 4 filas para obtener la salida. Esta salida también puede variar para diferentes ejecuciones.
Conclusión:
La función de índice de fuerza de MySQL es útil al buscar el valor particular en una tabla que contiene una gran cantidad de registros. La forma de crear un índice para una tabla y forzar el optimizador de consulta para usar ese índice con fuerza en el momento de la ejecución de la consulta mediante el uso de la declaración de índice de fuerza en este tutorial.