En el índice (4)

índice

Papel: mejorar la eficiencia de las consultas de datos

modelo de índice común

  • tabla hash
  • arreglo ordenado
  • búsqueda en árbol

Tabla hash
se almacena como pares de valores clave, adecuados a solamente la escena consultas equivalentes.
Usando una función hash a keyser convertido en una posición determinada, y luego valuela matriz en esta ubicación. A keycorresponden voluntad a una matriz, la matriz será más value, valueno ordenó.
Cuando se busca una función hash se calcula por primera keyhallazgo de una matriz específica, y luego recorrer la matriz para encontrar la ubicación específica.

Un conjunto ordenado de
almacenamiento en una matriz ordenada de formularios, consultas y consultas de rango de equivalencia del rendimiento escena es muy buena, sólo se aplican a motor de almacenamiento estático.
Basta con mirar a la eficiencia de la consulta y la disposición ordenada es la mejor estructura de datos, pero, cuando se necesita para actualizar los datos de muchos problemas, que insertar un registro en el medio de todo esto tiene que mover la parte posterior grabación, el costo es demasiado alto.
Así, el índice de matriz ordenada sólo es aplicable a motores de almacenamiento estático, por ejemplo, que desea guardar todos de 2017, la población de una información de la ciudad, no se modificará estos datos.

Buscar en el árbol
en un árbol binario similar a lograr más.

  • Árbol binario de búsqueda: el hijo izquierdo de cada nodo es menor que el nodo padre, el nodo padre y el hijo menor de la derecha.
  • Multi-árbol: cada nodo tiene más de su hijo, el hijo de garantía entre el tamaño de izquierda a derecha.

En MySQL, el índice se implementa en la capa de motor de almacenamiento, y no todos los mismos criterios de índice, es decir, índice de trabajo de diferentes motores de almacenamiento no son lo mismo. E incluso si una pluralidad de motor de almacenamiento del mismo índice de tipos, que puede ser diferente implementación subyacente.

InnoDBUtilice el B+modelo de índice de árbol, todos los datos se almacenan en el B+árbol. Cada índice InnoDBque corresponde a un B+árbol, que corresponde al índice de clave principal principal B+árbol.

  • índice de clave principal: maestro correspondiente B+nodo de hoja de árbol se almacena en toda la fila de datos, también denominado como un índice agrupado
  • índice de clave no primaria: cada uno correspondiente a un índice de clave no primaria B+nodo hoja del árbol se almacena en el valor de clave principal, también referido como un índice secundario.

Sobre la base de la diferencia entre el índice de clave principal y el índice general de la consulta?

  • Si la declaración es select * from T where ID = 500la pregunta clave principal que requiere sólo buscar IDárbol de B+nodos hoja del árbol tienen que almacenar toda la fila de datos;
  • Si la declaración es select * from T where k = 5, la consulta índice general, que tendrá que buscar el árbol índice k para obtener la clave principal IDvalor es 500, a la clave principal IDtiempo de búsqueda árbol del índice, este proceso se vuelve de nuevo a la mesa.

Volver al proceso de búsqueda de árbol índice de clave principal, que se llama volver a la mesa.

En otras palabras: la necesidad de un índice de clave de escaneo multi-índice de árbol consulta basada no primaria.

Supongo que te gusta

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