El índice (5)

T en la siguiente lista, ejecutar select * from T where k betwee 3 and 5;, necesitará realizar una operación de búsqueda en varias ocasiones árbol?

mysql> create table T (
ID int primary key,
k int NOT NULL DEFAULT 0, 
s varchar(16) NOT NULL DEFAULT '',
index k(k))
engine=InnoDB;

insert into T values(100,1, 'aa'),(200,2,'bb'),(300,3,'cc'),(500,5,'ee'),(600,6,'ff'),(700,7,'gg');

imagen

SQLDeclaración proceso de ejecución:

  1. k 3 se registra en el árbol de índice para encontrar k adquiere ID 300
  2. A continuación, el ID árbol de índice 300 que corresponde a la ID se encuentra registrado R3
  3. 5 El valor k registrado en el árbol de índice para encontrar k adquiere ID 500
  4. volver encontrado en el identificador de árbol de índice 500 que corresponde a la ID de grabación R4
  5. Grabar 6 valor k de k en el índice para encontrar el árbol, no califican, donde finaliza el ciclo

En este proceso, la parte posterior índice de clave para el plato principal del árbol de búsqueda, se convierten de nuevo a la mesa.

En este caso, dado que los datos necesarios para los resultados de la consulta sólo tienen un índice de clave principal, por lo que tuvo que volver a la mesa. Si la declaración está en ejecución select ID from T where k between 3 and 5;, sólo es necesario consultar el valor de la ID, y el árbol índice k con este valor no necesita volver a la mesa, el índice k ha estado cubriendo el valor de la necesidad de consulta, para ser cubiertas por el índice .

índices de cobertura pueden reducir el número de búsquedas de árbol, mejorar significativamente el rendimiento de consulta, a fin de utilizar un índice de cobertura es una herramienta de optimización del rendimiento común.

índice común: Campo múltiple para el índice, B + árbol en línea con el principio del prefijo más a la izquierda.

Supongo que te gusta

Origin www.cnblogs.com/jackw1/p/12597148.html
Recomendado
Clasificación