Tipo de índice
Índice de índice de clave principal y un sub-tipo de índice de clave no primaria. (Asegúrese de tener en cuenta es cómo almacenar datos)
- Los nodos de hoja del índice de clave principal se almacena toda fila de datos. En InnoDB, el índice de clave primaria también se llama índice de agrupación (índice agrupado).
- contenido nodo hoja índice de clave no primaria es el valor de la clave primaria. En InnoDB, el índice de clave no primaria es también llamado el índice secundario (índice secundario).
índice agrupado
CLUSTERED defecto índice de clave principal, si la tabla no define la clave primaria, InnoDB selecciona un índice único en lugar de una que no esté vacía. Si no hay tal índice, InnoDB implícitamente define como un índice agrupado clave primaria.
B + ÁRBOL razones, lo mejor es utilizar el campo números enteros consecutivos, para encontrar un rango determinado un mejor acceso
Volver a la tabla
La diferencia entre la estructura de índice de consulta descrito anteriormente, el índice de clave principal y el índice ordinario
- Si la declaración es seleccionar * de T donde ID = 500, es decir, la consulta de clave principal, el árbol sólo tiene que buscar un identificador de árbol B +;
- Si la declaración es seleccionar * de T, donde k = 5 , es decir, la consulta índice general, usted tendrá que buscar el árbol índice k, obtener un valor de 500 ID, al árbol índice de búsqueda de ID de una vez. Este proceso se llama de nuevo a la mesa .
índice de cobertura
Si la sentencia se ejecuta seleccione ID de T donde k entre 3 y 5, a continuación, sólo tiene que comprobar el valor de ID, y el valor de la ID tiene el índice k en el árbol, para que pueda dirigir los resultados de la consulta, no es necesario volver a la mesa. En otras palabras, esto dentro de la consulta, el índice k se ha "cubierto" las necesidades de nuestra investigación, nos llaman un índice que cubre.
Índice de pila
Índice de pila es la versión MySQL5.6 de la puesta en marcha de los métodos de optimización
está activada por defecto, puede ser desactivado por el comando siguiente
SET optimizer_switch = 'index_condition_pushdown=off';
Si hay acerca de SQL, proceso de ejecución razonable, muestra la siguiente figura
index(name,age)
mysql> select * from tuser where name like '张%' and age=10 and ismale=1;
Se puede ver, no se requiere un índice de pila cada vez que la parte posterior consulta a la tabla, y empuje hacia abajo el filtro anterior es un conjunto de resultados de vuelta a la buena mesa para conseguir seleccionar los datos *
Ningún índice empuja hacia abajo
el índice de pila