Consulta demorada. Tempo excedido
Pesquisei no forum e não achei por isso resolvi abrir este.
Caros, eu tenho um sistema desenvolvido em Delphi 7 que roda muito bem com SQL Server 2000.
Acontece que tenho um módulo replicador de informações para uma retaguarda e este faz por email.
Porém existe uma consulta na tabela que envolve um "select" bem elaborado mais que demora demais para GERAR o txt ...
O problema é que depois que ele abre a tabela pela primeira vez no dia, as próximas aberturas são em apenas 2 segundos ...
Mas a primeira consulta demora mais que 1 minuto para abrir, isso quando não dá tempo excedido.
Gostaria de saber se há alguma maneira de já disponibilizar mais memoria para fazer essa consulta inicial demorar menos.
Ou seja, demora para abrir a primeira, mas depois que abre a próxima não demora mais.... É como se ela fosse para memória ? É isso ?
Caros, eu tenho um sistema desenvolvido em Delphi 7 que roda muito bem com SQL Server 2000.
Acontece que tenho um módulo replicador de informações para uma retaguarda e este faz por email.
Porém existe uma consulta na tabela que envolve um "select" bem elaborado mais que demora demais para GERAR o txt ...
O problema é que depois que ele abre a tabela pela primeira vez no dia, as próximas aberturas são em apenas 2 segundos ...
Mas a primeira consulta demora mais que 1 minuto para abrir, isso quando não dá tempo excedido.
Gostaria de saber se há alguma maneira de já disponibilizar mais memoria para fazer essa consulta inicial demorar menos.
Ou seja, demora para abrir a primeira, mas depois que abre a próxima não demora mais.... É como se ela fosse para memória ? É isso ?
Luiz Filho
Curtidas 0
Respostas
Fabiano Carvalho
30/10/2016
Voce esta falando de replicacao de tabela?
GOSTEI 0
Luiz Filho
30/10/2016
Bom dia, Fabiano.
Não não ...
Na verdade eu faço um select * from tabela e isso me traz 300 mil registro no datagrid, porém essa consulta demora cerca de 2 minutos para ser executada pela primeira vez ... até conseguir ler a tabela dá uns 4 erros seguidos de tempo excedido, mas vou executando até abrir. Após abrir a primeira vez, e se eu tento novamente executar, abre em 2 segundos ou menos ... ou seja, é como se ela ficasse em memória, sei lá. Será sempre assim ... pq eu desligo o pc todo o dia ... aí zera a memoria né?
Não não ...
Na verdade eu faço um select * from tabela e isso me traz 300 mil registro no datagrid, porém essa consulta demora cerca de 2 minutos para ser executada pela primeira vez ... até conseguir ler a tabela dá uns 4 erros seguidos de tempo excedido, mas vou executando até abrir. Após abrir a primeira vez, e se eu tento novamente executar, abre em 2 segundos ou menos ... ou seja, é como se ela ficasse em memória, sei lá. Será sempre assim ... pq eu desligo o pc todo o dia ... aí zera a memoria né?
GOSTEI 0
João Françozo
30/10/2016
Bom dia Luiz,
Primeiramente para melhores praticas não usa o * no select, informa realmente os campos necessários.
Faz a migração para outra versão do SQL Server, caso não for possível tem que rever os index, tudo depende desse cara, se ele estiver bom o SQL vai aproveitar mais, pois vai estar na memoria, caso contrario ele marcos os dados como sujos e ler o disco novamente.
Primeiramente para melhores praticas não usa o * no select, informa realmente os campos necessários.
Faz a migração para outra versão do SQL Server, caso não for possível tem que rever os index, tudo depende desse cara, se ele estiver bom o SQL vai aproveitar mais, pois vai estar na memoria, caso contrario ele marcos os dados como sujos e ler o disco novamente.
GOSTEI 0