Os índices no PostgreSQL são objetos de banco de dados que melhoram a velocidade das operações de recuperação de dados em uma tabela. Os índices parciais são um tipo de índice que só inclui linhas no índice se elas atenderem a uma determinada condição, otimizando o desempenho e reduzindo o armazenamento.
Uso
Os índices parciais são usados quando você deseja indexar um subconjunto de linhas em uma tabela, normalmente aquelas que atendem a critérios específicos, para melhorar o desempenho da consulta e minimizar o uso de espaço em disco. Eles são definidos pela adição de uma cláusula WHERE à definição do índice.
Este exemplo cria um índice parcial na tabela sales para a coluna sale_amount para vendas superiores a US$ 1.000 no último ano, otimizando as consultas para transações recentes de alto valor.
Este exemplo demonstra o uso de uma expressão no índice, criando um índice parcial no site price - discount calculado para produtos com desconto.
Dicas e práticas recomendadas
Direcione as consultas frequentes. Use índices parciais para consultas que acessam frequentemente um subconjunto específico de dados para maximizar os benefícios de desempenho.
Monitorar o uso do índice. Analise regularmente o uso do índice para garantir que ele ainda seja benéfico, pois os padrões de dados e os requisitos de consulta podem mudar com o tempo.
Minimizar o tamanho do índice. Seja específico na cláusula WHERE para manter o tamanho do índice pequeno e eficiente, evitando a indexação de linhas desnecessárias.
Impacto no desempenho do teste. Depois de criar um índice parcial, teste o desempenho da consulta para garantir que ele ofereça as melhorias de velocidade desejadas.
Considere as operações de gravação. Esteja ciente de que os índices parciais podem afetar o desempenho de gravação devido à sobrecarga de manutenção dos índices durante inserções, atualizações e exclusões.
Use REINDEX. Use regularmente o comando REINDEX para reconstruir índices parciais e manter sua eficiência, especialmente após alterações significativas nos dados.
Alavancagem EXPLAIN. Utilize o comando EXPLAIN para obter insights sobre como as consultas utilizam índices parciais e ajustar sua estratégia de indexação de acordo.
Considerações sobre desempenho e versão
Os índices parciais são particularmente benéficos para tabelas com grandes volumes de dados em que apenas um pequeno subconjunto é consultado com frequência.
A manutenção de índices requer recursos, portanto, avalie a compensação entre o desempenho de leitura e gravação.
Certifique-se de que você é compatível com a versão do PostgreSQL, pois os aprimoramentos nas estratégias de indexação podem variar entre as versões.
Os índices no PostgreSQL são objetos de banco de dados que melhoram a velocidade das operações de recuperação de dados em uma tabela. Os índices parciais são um tipo de índice que só inclui linhas no índice se elas atenderem a uma determinada condição, otimizando o desempenho e reduzindo o armazenamento.
Uso
Os índices parciais são usados quando você deseja indexar um subconjunto de linhas em uma tabela, normalmente aquelas que atendem a critérios específicos, para melhorar o desempenho da consulta e minimizar o uso de espaço em disco. Eles são definidos pela adição de uma cláusula
WHEREà definição do índice.Nessa sintaxe, o
WHERE conditionespecifica quais linhas devem ser incluídas no índice.Exemplos
1. Índice parcial básico
Este exemplo cria um índice parcial na tabela
userspara a colunalast_login, mas somente para as linhas em que o campoactiveétrue.2. Indexação com condições de valor específicas
Aqui, um índice parcial é criado na tabela
orderspara a colunaorder_date, concentrando-se apenas em pedidos com umpriorityde'high'.3. Índice parcial de condições complexas
Este exemplo cria um índice parcial na tabela
salespara a colunasale_amountpara vendas superiores a US$ 1.000 no último ano, otimizando as consultas para transações recentes de alto valor.4. Índice parcial com expressões
Este exemplo demonstra o uso de uma expressão no índice, criando um índice parcial no site
price - discountcalculado para produtos com desconto.Dicas e práticas recomendadas
WHEREpara manter o tamanho do índice pequeno e eficiente, evitando a indexação de linhas desnecessárias.REINDEX. Use regularmente o comandoREINDEXpara reconstruir índices parciais e manter sua eficiência, especialmente após alterações significativas nos dados.EXPLAIN. Utilize o comandoEXPLAINpara obter insights sobre como as consultas utilizam índices parciais e ajustar sua estratégia de indexação de acordo.Considerações sobre desempenho e versão