Índice Oracle, isso é suficiente

O que é um índice

Um índice é uma estrutura opcional associada a uma tabela, é uma forma de acessar dados rapidamente e melhorar o desempenho do banco de dados. O banco de dados pode criar explicitamente um índice para acelerar a execução de instruções SQL na tabela. Quando a chave do índice é usada como uma condição de consulta, o índice aponta diretamente para o local da linha que contém esses valores. Mesmo se o índice for excluído, não há necessidade de modificar nenhuma instrução SQL. definição

Classificação do índice

Classificação física Classificação lógica
Índice particionado ou não particionado Coluna única ou índice combinado
Índice de árvore B Índice único ou não único
Índice de chave normal ou reversa Com base no índice funcional
Índice de bitmap

Índice de árvore B

O índice da árvore B geralmente também é chamado de índice padrão. A parte superior do índice é , que contém itens que apontam para o próximo nível no índice. O próximo nível é dividido em blocos, e os blocos divididos apontam para os blocos no próximo nível do índice.O nível mais baixo é 叶节点, que contém entradas de índice que apontam para linhas da tabela. O bloco de folhas é 双向链表útil para verificar o índice em ordem crescente e decrescente de palavras-chave

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

- unique: Usado para especificar um índice exclusivo, por padrão é um índice não exclusivo
- index_name: Nome do índice : Nome da
- table_nametabela
- column_list: Nome da coluna, pode ser várias colunas, separadas por vírgulas
- tablespace_name: Especifique um espaço de tabela para o índice

Índice único e índice não único

  • Índice único:

Não há valores duplicados em nenhuma das duas linhas da coluna que define o índice. A chave do índice no índice exclusivo pode apontar apenas para uma linha da tabela. Crie um índice exclusivo correspondente ao criar uma restrição de chave primária e criar uma restrição única

  • Índice não único:

Uma única palavra-chave pode ter várias linhas associadas a ela

Índice de chave reversa

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

REVERTER

Índice de bitmap

A vantagem do índice de bitmap é que ele é o mais adequado 低基数列(o valor desta coluna é finito e, teoricamente, não será infinito). Por exemplo, o tipo de trabalho (coluna de trabalho) na tabela de funcionários, mesmo se houver milhões de registros de funcionários, o tipo de trabalho também é calculável e o tipo de coluna de trabalho pode ser usado como a 位图索引coluna de categoria da tabela de livro.

O índice de bitmap tem as seguintes vantagens

  • Para um grande número de consultas instantâneas, o tempo de resposta pode ser reduzido
  • Em comparação com outras tecnologias de indexação, o espaço ocupado é significativamente reduzido
  • Mesmo em hardware de terminal com configuração muito baixa, um desempenho significativo pode ser
    obtido.O índice de bitmap não armazena diretamente rowId, mas armazena o mapeamento de bits de byte para rowId, reduzindo o tempo de resposta e economizando espaço.
    位图索引Não deve ser aplicada à ocorrência frequente de insert, update, deletena mesa de operações, as operações DML são dispendiosos em termos de desempenho, o índice de mapa de bits é o mais adequado para os dados de armazenagem e sistemas de apoio de decisões
SQL>create bitmap index index_bit_name on table_name(column_name)

Outros índices

  • Índice composto: crie um índice em várias colunas da tabela, as colunas do índice não precisam estar na mesma ordem que as colunas da tabela, nem adjacentes umas às outras
    • Cenários de uso :Quando certos campos são frequentemente combinados com o operador e na cláusula where da instrução SQL a ser usada como o predicado da chave de filtro
    • Princípio de classificação de campo de índice composto
      • O 频繁campo mais usado vem primeiro
      • Use a mesma frequência, coloque o 选择性campo mais primeiro
  • Índice baseado em função: Se a função ou expressão usada envolver uma ou mais colunas na tabela que está sendo construída, um índice baseado em função é criado.O índice dado à função pode ser criado como uma árvore B ou índice de bitmap.
    • Nenhuma função agregada pode aparecer na expressão,
    • Não pode ser criado em uma coluna do tipo LOB,
    • Deve ter permissão QUERT REWRITE ao criar

Princípio de uso do índice

  • Crie um índice após importar os dados da tabela. Caso contrário, o índice deve ser atualizado toda vez que os dados são inseridos na tabela
  • Crie índices em tabelas e campos apropriados. Se os dados recuperados com frequência forem inferiores a 15% da tabela, você precisará criar índices
  • Limite o número de índices na tabela. Quanto mais índices, maior será a carga de trabalho de modificação do índice ao modificar a tabela

Resumindo

  • O índice B-tree é um índice geral, é o tipo de índice padrão ao criar um índice
  • O índice de chave reversa é construído em uma coluna cujo valor está aumentando continuamente
  • O índice de bitmap é adequado para criar em colunas de baixa cardinalidade
  • Com base no índice funcional
  • Princípio de uso do índice

Acho que você gosta

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