EN - FR - DE - ES - IT - PT -

LexiconDream

📇 Índice

Uma estrutura de dados que acelera a recuperação de registos de base de dados.

Índice

Um índice acelera a recuperação de dados. Sem ele, a base de dados examina cada linha para encontrar registos correspondentes. Com um índice, salta diretamente para as linhas relevantes. O índice é uma estrutura de dados separada que mapeia valores para locais. O índice de um livro funciona da mesma forma. Procura um termo e encontra o número da página. Não lê todas as páginas para o encontrar. A base de dados faz a mesma coisa.

Os índices têm um custo. Ocupam espaço. Tornam as inserções, atualizações e eliminações mais lentas, uma vez que o índice também precisa de ser atualizado. Cada gravação torna-se mais custosa. O benefício é a maior velocidade de leitura. Para cargas de trabalho com muitas leituras, os índices são essenciais. Para cargas de trabalho com muitas gravações, o excesso de índices prejudica o desempenho. Escolher quais as colunas a indexar requer a compreensão dos padrões de consulta. As colunas utilizadas nas cláusulas WHERE, condições JOIN e cláusulas ORDER BY são boas candidatas. Colunas com baixa cardinalidade, como indicador booleano, são más candidatas, pois o índice não restringe muito a pesquisa. Os índices compostos abrangem várias colunas e podem servir consultas que filtram por diversos campos. A ordem das colunas num índice composto é importante. A base de dados pode utilizar um índice composto para consultas na coluna inicial, mas não apenas nas colunas finais. O design de índices é um equilíbrio. O objetivo é acelerar as consultas que importam sem tornar as gravações mais lentas do que o necessário.

Tipos de índice

Um índice é um atalho. Troca velocidade de escrita e armazenamento por velocidade de leitura. Utilize-o onde as leituras são mais importantes.

Comments (3)

  1. Derek S.
    Database indexes are a tradeoff. They speed up reads but slow down writes and take up space. Knowing when to add one is an art.
  2. Pam L.
    A primary key automatically creates an index. That's something a lot of beginners don't realize.
  3. Chris T.
    Without an index the database has to scan every row. With one it can jump straight to the data. Huge performance difference.

Leave a comment