Query só fica rápida somente após recriar o índice
14/09/2023
0
Tenho uma query que quando executada demora aproximadamente 15 segundos.
Quando eu recrio o indice, a mesma query passa a levar 1 segundo.
O Problema é que a cada novo registro inserido na tabela a query volta a apresentar lentidão e só fica rápida se novamente o índice for recriado.
Charles
Posts
15/09/2023
Arthur Heinrich
Uma coisa que pode estar ocorrendo é que, ao recriar o índice, o banco faz um full scan na tabela e a armazena em cache. Uma query executada a seguir, provavelmente vai encontrar todos os dados em memória, executando mais rapidamente.
Passado algum tempo, outras queries do banco vão invalidando o cache e, ao executar a query novamente, precisará acessar blocos em disco, tornando a execução mais lenta.
Sua query também pode estar com plano de acesso incorreto, ou dependa de muitos dados.
Enfim, não parece ser um problema de banco (SGBD), mas de modelagem (Aplicação).
26/09/2023
Charles
Uma coisa que pode estar ocorrendo é que, ao recriar o índice, o banco faz um full scan na tabela e a armazena em cache. Uma query executada a seguir, provavelmente vai encontrar todos os dados em memória, executando mais rapidamente.
Passado algum tempo, outras queries do banco vão invalidando o cache e, ao executar a query novamente, precisará acessar blocos em disco, tornando a execução mais lenta.
Sua query também pode estar com plano de acesso incorreto, ou dependa de muitos dados.
Enfim, não parece ser um problema de banco (SGBD), mas de modelagem (Aplicação).
O estranho é que mesmo reiniciando a instancia do banco de dados as consultas nos registros existentes antes do rebuild do indice ficam rápidas e somente as consultas aos registros inseridos após o rebuild ficam lentas.
05/10/2023
Emerson Nascimento
qual o comando utilizado para criar o índice?
Clique aqui para fazer login e interagir na Comunidade :)