¿Por MySQL multicriterio consulta el índice sólo se utiliza?

Si sólo se puede utilizar una base de datos de consulta índice de registros?

 

Mira algunos artículos en Internet, encontré varias veces por debajo de las palabras:

Si a menudo necesita ambos campos y consulta, a continuación, el uso de dos índice separado inferiores a establecer un índice compuesto, un índice separado es por lo general debido a que las dos bases de datos sólo se pueden usar uno de ellos, mientras que el uso del índice compuesto debido a que el propio índice corresponde a dos campos la eficiencia se verá muy mejorado.

Sin embargo, a menudo no dijo por qué? ¿Quieres conocer las siguientes preguntas:
1, no es sólo una consulta de base de datos a utilizar un índice en cualquier caso?
2. Si no es así, en qué circunstancias sólo se utilice un índice?
3, respectivamente, que es lo que causó la consulta utiliza en el índice por encima de ella?


 

No es tanto una "consulta de base de datos sólo puede utilizar un índice", y no es que una mesa llena índice de exploración / sólo utilizan un más rápido que hacia arriba, para analizar los dos índices árbol binario es más lento, por lo que la gran mayoría de la base de datos de los casos Sí, con un índice.
Como esta declaración:

select count(1) from table1 where column1 = 1 and column2 = 'foo' and column3 = 'bar' 

Podemos imaginar que si hay N base de datos de índice y consulta tiene, respectivamente, para pasar su situación:
el optimizador de consultas (con las palabras blancas es algo que genera un plan de ejecución) tiene que ser N veces el binario principal hallazgo [aquí significa que el árbol binario principal es la más exterior inode], para encontrar el proceso aquí es probablemente como sigue:
aislado column1 valor primero binario igual a 1 principal, y luego a la segunda foo principal valor binario column2 aislado y debe ser igual a la coumn1 línea actual 1, última columna a la barra principal y encontrar el valor de un árbol binario debe ser igual a 1 y column1 columna2 debe ser igual foo.
Si tal proceso a es el optimizador de consultas para realizar de nuevo, incluso morir también de Half-Life, el optimizador de consultas no puede esperar para llevar a cabo de nuevo el plan anterior, el algoritmo voraz (algoritmo del vecino más cercano) puede permitir que esto suceda, por lo que cuando el caso de la siguiente declaración cuando la base de datos, siempre y cuando el índice se utiliza la primera columna de filtración (columna 1), que irá directamente a un recorrido de tabla.

seleccionar count (1) a partir de tabla1 donde column1 = 1 y column2 = 'foo' y column3 = 'bar'

Así que no es tanto una base de datos sólo admite una consulta utilizando un solo índice, sería mejor decir el índice independiente de N, mientras que el consumo de una declaración utilizando más lento que usar un solo índice.
ventajas b + estructura de árbol Por lo tanto, en el caso del artículo anterior, utilizando un índice superior (column1, column2, column3) este índice de combinación, este índice se puede combinar en su cabeza:
un árbol binario principal (columna = 1), para la consulta después de la columna = 1 nodo basado en el nodo actual de dos binario columna2 = foo consulta, la consulta a las secundarias cOLUMN2 = foo árbol binario, para encontrar los tres binaria column3 = bar.

 
Fuente: https: //segmentfault.com/q/1010000003880137

Supongo que te gusta

Origin www.cnblogs.com/technologykai/p/12576113.html
Recomendado
Clasificación