Introducción al aprendizaje de índices

1. ¿Cuál es el índice?

Index es una estructura de datos para MySQL para obtener datos de manera eficiente, lo que puede mejorar la eficiencia de las consultas.

Segundo, ¿por qué construir un índice?

Encuentre rápidamente estructuras de datos en orden. Encuentra rápido y ordena en orden.

En tercer lugar, la estructura del índice.

estructura btree.

Cuarto, las ventajas y desventajas del índice.

1. Ventajas

  • Los índices mejoran la eficiencia de búsqueda y reducen los costos de io.
  • Ordene los datos por columna de índice, reduzca el costo de clasificación y reduzca el consumo de taza.

2. Desventajas

  • El índice también es una tabla, la tabla necesita la clave primaria y el campo de índice, y apunta a los datos de la tabla de entidad, por lo que el índice ocupa espacio
  • Aunque el índice mejora en gran medida la velocidad de consulta del índice, reducirá la velocidad de actualización de la tabla, como eliminar la inserción de actualización. Porque al actualizar la tabla, mysql no solo necesita guardar los datos, sino también guardar el archivo de índice.
  • La indexación es solo un factor para mejorar la eficiencia. Si MySQL tiene una gran cantidad de datos, debe estudiar para establecer el mejor índice u optimizar la consulta.

Cinco, la clasificación del índice

1. Índice de valor único. Un índice contiene solo una sola columna, una tabla puede tener múltiples índices de una sola columna.

select * from user where name = '张三'
create index idx_表名 _索引名 on 表名 (表字段) #单值索引
create index idx_user _name on user (name)

2. Índice único. El valor de la columna de índice debe ser único, pero se permiten valores nulos.
3. Índice compuesto. Un índice contiene múltiples columnas.

select * from user where name = '张三' and email ='[[email protected]](mailto:[email protected])'

create index idx_表名 _索引名 on 表名 (表字段1,表字段1) #复合索引
create index idx_user _name on user (name,email )

创建:
create [unique(唯一索引)] index indexName on mytable (columname(length))
alter mytable ADD [unique] index[indexname] on (columname(length))
删除:
drop index [indexname]  on mytable
查看
show index  from mytable

Sexto, la estructura de índice l:

  • índice btree
  • índice hash
  • texto completo índice de texto completo
  • índice r-tree

Siete, las condiciones para crear un índice

1. ¿En qué circunstancias es adecuado crear un índice?

  • La clave primaria se indexa automáticamente
  • Cree índices en campos que se usan con frecuencia como condiciones de consulta
  • Campos relacionados con otras tablas en la consulta, indexación relacional de clave externa
  • Los campos actualizados con frecuencia no son adecuados para la indexación.
  • Donde los campos no utilizados no son adecuados para crear índices
  • Problema de selección de clave única / índice combinado (en el caso de alta concurrencia, tienden a crear un índice combinado)
  • Los campos ordenados en la consulta. Si se accede a los campos ordenados por índice, la velocidad de clasificación mejorará considerablemente.
  • Estadísticas o campos de agrupación en la consulta.

2. Que no son adecuados para indexar

  • Muy pocos registros
  • Adiciones, eliminaciones y cambios frecuentes en la tabla: guarde los datos y guarde el archivo de índice Los
    datos se duplican y los campos se distribuyen de manera uniforme. Los campos que se consultan u ordenan con frecuencia se indexan
  • Si una columna de datos contiene mucho contenido duplicado, la indexación no tiene mucho efecto práctico. Si una tabla tiene 100,000 datos, hay un campo de solo T y F y la probabilidad de distribución de cada valor es de aproximadamente 50%, luego agregar un índice a este campo de tabla generalmente no aumenta la velocidad de consulta de la base de datos.

Inserte la descripción de la imagen aquí

41 artículos originales publicados · Me gustaron 14 · Visitantes más de 10,000

Supongo que te gusta

Origin blog.csdn.net/Yunwei_Zheng/article/details/104016940
Recomendado
Clasificación