Criação de índices no PostgreSQL

1390 palavras 6 páginas
Criação de índices no PostgreSQL
Publicado em 19/12/2012

PostgreSQL
Com o passar do tempo e consequentemente o aumento da base de dados, as consultas podem ficar lentas. Se você já se deparou com problema de performance nas suas consultas ao banco de dados e nem se quer sabia que existia indices de tabelas, vai adorar saber o que são e o poder de um índice para o tunning de banco de dados.
O que são índices?
De acordo com Smith (2010, p. 209), "An index is simply an organized list of values that appear in one or more columns in a table. ". Ou seja, um valor/coluna utilizada para identificar as tuplas (linha, registro) de uma tabela e facilitar a localização em uma consulta, assim como em um índice de livro. Um índice não necessariamente precisa ser uma chave primaria (que não permite chaves iguais) e pode ser usado em valores que se repetem.
Tipos de índices
Existem muitos tipos de índices e cada SGBD (Sistema Gerenciador de Banco de Dados) tem os seus tipos de índices. Nesse artigo irei abordar os dois principais, o tipo BTREE e o tipo HASH.
Índice btree
Utilizado para indexar colunas que geralmente serão consultadas por intervalo. Por exemplo o campo salário, onde geralmente serão buscado as tuplas por um intervalo de valores desse campo.
Índice hash
Utilizado para indexar colunas que serão consultadas por um valor exato. Por exemplo o campo RG que apesar de poder repetir, geralmente serão consultado as tuplas usando a condição de igualdade para esse campo.
Entendendo as estruturas de dados
Tabela hash
Os índices do tipo hash usam o conceito de tabela hash onde a tupla não é pesquisada sequencialmente e sim calculada, ou seja, a posição da tupla no banco de dados é calculado por um algoritmo e a tupla é imediatamente acessada sem precisar percorrer uma a uma procurando pela condição.
CPF
Nome
123.456.789-01
Maria
987.654.321-09
João
132.546.879-10
Rafael
Por exemplo que exista uma tabela com duas colunas e três linhas. Se o campo 'cpf'

Relacionados

  • engenharia
    4534 palavras | 19 páginas
  • Trabalho PostgreSQL Índices e Otimizador
    5543 palavras | 23 páginas
  • Organização de Arquivos e Índices no Postgree
    1719 palavras | 7 páginas
  • G11 Relatoriosbd
    16988 palavras | 68 páginas
  • PostgreSql
    1216 palavras | 5 páginas
  • Otimização
    4295 palavras | 18 páginas
  • Performance Tuning em Banco de Dados Relacional Um estudo de caso: PostgreSQL
    20143 palavras | 81 páginas
  • PostgreSQL
    5574 palavras | 23 páginas
  • Banco de dados
    27495 palavras | 110 páginas
  • Banco de dados
    3006 palavras | 13 páginas