Uso del índice
- Utilice el mismo tipo de campo para evitar que la conversión implícita provoque índices no válidos.
- Cree índices únicos en el conjunto mínimo de campos o combinaciones de campos con características únicas.
Por ejemplo, hay una tabla que contiene los campos a, b, c, d, e y f. Si las combinaciones de campos ab y ef tienen características únicas, se recomienda crear índices únicos para ab y ef respectivamente.
Incluso si se implementa un control de verificación completo en la capa de aplicación, se generan datos sucios siempre que no haya un índice único de acuerdo con la Ley de Murphy.
Antes de crear un índice único, considere si es útil para la consulta y si afectará a las operaciones INSERT.
- Cree índices en campos de longitud fija (por ejemplo, INT). Al crear un índice en un campo VARCHAR, se debe especificar la longitud del índice. No es necesario crear un índice en todo el campo. La longitud del índice se determina de acuerdo con la distinción de texto real.
La longitud del índice y la distinción son un par de contradicciones. Generalmente, para datos de tipo cadena, la distinción de un índice con una longitud de 20 será más del 90%. La fórmula de distinción es: Count(distinct left(column name, index length))/count (*). Coloque los nombres de las columnas con la distinción alta en el frente.
- Si es posible, no utilice la búsqueda difusa izquierda (por ejemplo, SELECT * FROM users WHERE u_name LIKE ' %hk') ni la búsqueda difusa completa en la página para evitar la degradación de la exploración de índice a la exploración de tabla completa. Resuelva el problema en la capa de aplicación.
Un archivo de índice tiene la característica de coincidencia de prefijos más a la izquierda del B-tree. Si no se determina el valor de la izquierda, no se puede utilizar el índice.
- Utilice el índice de superposición para consultar y evitar volver a la tabla. Sin embargo, el número de campos agregados al índice de superposición no puede ser demasiado grande, o el rendimiento de escritura se verá afectado.
Los tipos de índices que se pueden crear incluyen el índice de clave principal, el índice único y el índice normal. Índice de cobertura indica que si ejecuta sentencias EXPLAIN, se muestra "using index" en la columna Extra.
- Optimice el rendimiento de SQL de la siguiente manera: range (requisito mínimo), ref (requisito básico) y consts (requisito máximo).
- Al crear un índice compuesto, coloque la columna con la distinción más alta a la izquierda.
- Asegúrese de que el número de índices en una sola tabla sea como máximo 5, o no exceda el 20% del número de campos de tabla.
- Evite los siguientes malentendidos al crear índices:
- Los índices deben utilizarse con frecuencia. Es necesario crear un índice para una consulta.
- Los índices deben ser tan pocos como sea posible. Los índices consumen espacio y ralentizan la velocidad de actualización y adición.
- No se pueden utilizar índices únicos. Las características únicas se deben resolver en la capa de aplicación utilizando el método "consultar primero y luego insertar".