Índice de Oracle, esto es suficiente

Que es un indice

Un índice es una estructura opcional asociada a una tabla, es una forma de acceder rápidamente a los datos y mejorar el rendimiento de la base de datos. La base de datos puede crear explícitamente un índice para acelerar la ejecución de declaraciones SQL en la tabla. Cuando se utiliza la clave de índice como condición de consulta, el índice apuntará directamente a la posición de la fila que contiene estos valores. Incluso si se elimina el índice, no es necesario modificar ninguna declaración SQL. definición

Clasificación de índice

Clasificación física Clasificación lógica
Índice particionado o no particionado Columna única o índice combinado
Índice de árbol B Índice único o no único
Índice de clave normal o inverso Basado en índice de función
Índice de mapa de bits

Índice de árbol B

El índice de árbol B generalmente también se denomina índice estándar. La parte superior del índice es , que contiene elementos que apuntan al siguiente nivel en el índice. El siguiente nivel se divide en bloques, y los bloques divididos apuntan a los bloques del siguiente nivel del índice. El nivel más bajo es el 叶节点que contiene entradas de índice que apuntan a filas de la tabla. El bloque de hoja es 双向链表útil para escanear el índice en orden ascendente y descendente de palabras clave

SQL>create [unique] index_name on table_name(column_list) 
[tablespace tablespace_name]

- unique: Se utiliza para especificar un índice único, por defecto es un índice no único
- index_name: Nombre del índice : Nombre de la
- table_nametabla
- column_list: Nombre de la columna, pueden ser varias columnas, separadas por comas
- tablespace_name: Especifique un espacio de tabla para el índice

Índice único e índice no único

  • Índice único:

No hay valores duplicados en dos filas de la columna que define el índice. La clave de índice en el índice único solo puede apuntar a una fila de la tabla. Cree un índice único correspondiente al crear una restricción de clave primaria y crear una restricción única

  • Índice no único:

Una sola palabra clave puede tener varias filas asociadas.

Índice de clave inversa

与常规B树索引相反,反向键索引在保持列顺序的同时反转列的字节。反向索引通过反转索引
键的数据值来实现,其优点是对于连续增长的索引列,反转索引列可以将索引数据分散在多
个索引块间,减少I/O瓶颈的发生。
SQL>create unique index_reverse_name on table_name(column_list) REVERSE;

CONTRARRESTAR

Índice de mapa de bits

La ventaja del índice de mapa de bits es que es más adecuado 低基数列(el valor de esta columna es finito y teóricamente no será infinito). Por ejemplo, el tipo de trabajo (columna de trabajo) en la tabla de empleados, incluso si hay millones de registros de empleados, el tipo de trabajo también se puede calcular y el tipo de columna de trabajo se puede utilizar como 位图索引columna de categoría de la tabla del libro.

El índice de mapa de bits tiene las siguientes ventajas

  • Para una gran cantidad de consultas instantáneas, el tiempo de respuesta se puede reducir
  • En comparación con otras tecnologías de indexación, el espacio ocupado se reduce significativamente
  • Incluso en hardware de terminal con una configuración muy baja, se puede obtener un rendimiento significativo.El
    índice de mapa de bits no almacena directamente rowId, pero almacena la asignación de bits de bytes a rowId, lo que reduce el tiempo de respuesta y ahorra espacio.
    位图索引No se debe aplicar a la frecuente aparición de insert, update, deletesobre la mesa de operaciones, las operaciones DML son costosos en términos de rendimiento, el índice de mapa de bits es el más adecuado para el almacenamiento de datos y los sistemas de soporte de decisiones
SQL>create bitmap index index_bit_name on table_name(column_name)

Otros índices

  • Índice compuesto: cree un índice en varias columnas de la tabla, las columnas del índice no tienen que estar en el mismo orden que las columnas de la tabla, ni tienen que estar adyacentes entre sí
    • Escenarios de uso :Cuando ciertos campos a menudo se combinan con el operador y en la cláusula where de la instrucción SQL que se utilizará como predicado de clave de filtro
    • Principio de clasificación de campos de índice compuesto
      • El 频繁campo más utilizado es lo primero
      • Use la misma frecuencia, coloque la mayor cantidad de 选择性campo primero
  • Índice basado en función: si la función o expresión utilizada involucra una o más columnas en la tabla que se está construyendo, se crea un índice basado en función. El índice dado a la función se puede crear como un índice de mapa de bits o árbol B.
    • No puede aparecer ninguna función agregada en la expresión,
    • No se puede crear en una columna de tipo LOB,
    • Debe tener el permiso QUERT REWRITE al crear

Principio de uso del índice

  • Cree un índice después de importar datos en la tabla. De lo contrario, el índice debe actualizarse cada vez que se insertan datos en la tabla.
  • Cree índices en tablas y campos adecuados. Si los datos que se recuperan con frecuencia son menos del 15% de la tabla, debe crear índices
  • Limite el número de índices en la tabla. Cuantos más índices, mayor será la carga de trabajo de la modificación del índice al modificar la tabla

para resumir

  • El índice de árbol B es un índice general, es el tipo de índice predeterminado al crear un índice
  • El índice de clave inversa se basa en una columna cuyo valor aumenta continuamente
  • El índice de mapa de bits es adecuado para crear en columnas de cardinalidad baja
  • Basado en índice de función
  • Principio de uso del índice

Supongo que te gusta

Origin blog.csdn.net/qq_44621891/article/details/109045303
Recomendado
Clasificación