Carregando ...
Desculpe, ocorreu um erro ao carregar o conteúdo.

14499Re: [cflp] Demora absurda em select em tabela com mais de 2 milhões de registros, alguém me ajuda a reso lver ?

Expandir mensagens
  • Alison D. Vilcenski
    13 de out de 2011
      Favor desconsiderarem o comentário abaixo, "comi barriga"!

      Alison





      ----- Original Message -----
      From: Alison D. Vilcenski
      To: cflp_suporte@...
      Sent: Thursday, October 13, 2011 5:55 PM
      Subject: Re: [cflp] Demora absurda em select em tabela com mais de 2 milhões de registros, alguém me ajuda a resolver ?


      Olá pessoal,

      Entrei no tópico agora e vi que minha resposta não consta mais lá... ela foi excluída?





      ----- Original Message -----
      From: Jean Lopes - TSA
      To: cflp_suporte@...
      Sent: Thursday, October 13, 2011 4:21 PM
      Subject: Re: [cflp] Demora absurda em select em tabela com mais de 2 milhões de registros, alguém me ajuda a resolver ?



      Como fica a pesquisa sem o Like ?

      melhora ou não a performance da resposta ?

      "Dividir para conquistar".

      Tente descobrir qual das tuas condições que está te dando o retardo.

      Como disse o Alexandre o Like é muito problemático por não usar indices.

      *Jean Paul Lopes*
      Diretor Técnico
      *TSA Tecnologia Sistemas e Automação Ltda.*
      51-3042.6084

      Rua Cel. Sarmento, 1699 / 102
      Centro - Gravataí - RS

      http://www.tsa.net.br
      Em 13/10/2011 16:09, Alexandre Benson Smith escreveu:
      > Em 13/10/2011 10:42, Soft System | Rafael escreveu:
      >> Prezados, estou com um problemão, uso Delphi XE com Firebird 2.03, o acesso aos dados é feito através do conjunto, IbDataBase, IBTransaction, IbQuery + DataSource + IbUpdateSql , a base de dados está com mais de 800 MB, em uma tabela temos atualmente 2.535.892 registros, quando vamos faze o select abaixo:
      >>
      >> DataM.IbQCadastroCliente.Close;
      >> DataM.IbQCadastroCliente.Sql.Clear;
      >> DataM.IbQCadastroCliente.Sql.Add('Select first 10 * from tcadastrocliente where lower(email) like '+QuotedStr('%'+LowerCase(FCadastroClientes.EditBusca.Text+'%'))+ ' and ((codultimacampanha<> '+QuotedStr(FCadastroClientes.LBLCodCampanha.Caption)+') or (codultimacampanha is null)) and email is not null and ((upper(rejeitado)<> '+QuotedStr('SIM')+') or rejeitado is null) order by controle desc');
      >> DataM.IbQCadastroCliente.Open;
      >>
      >> Quando damos o Open na query demora cerca de 5 minutos, tentei levar esse código para o IboConsole, e ocorreu o mesmo problema, tentei tirar todos filtros, colocando somente isso> Select first 10 * form tcadastrocliente order by controle desc'< e deu na mesma, a demora continua.
      >>
      >> O que fazer para resolver essa situação?
      >>
      >> Será que o Firebird é assim mesmo e demora tudo isso?
      >>
      >> Agradeço se alguma boa alma me dar algumas dicas de como resolver.
      >>
      >> Att.
      >>
      >> Rafael
      >>
      >
      > Sem querer ser chato, mas já sendo...
      >
      > O problema não está no código de Add do TString, então não precisa nos
      > mandar o código Delphi que usa para montar a query, muito mais facil ler
      > a query diretamente..., sem ter que ficar dando mentalmente os escapes
      > das aspas e concatenando as partes :) Assim voce nos ajuda a focar no
      > seu problema... Eu por exemplo, li por cima a query.. olhei os pontos
      > mais criticos, nem olhei o aninhamento de parenteses e coisas assim..
      > nao farei isso com a query sem uma formatação decente...
      >
      > Mas um select like '%alguma coisa%' nao usa indices conforme ja dito, as
      > outras colunas de pesquisa, são indexadas ? Qual a seletividade dos
      > indices ?
      >
      > Use collate PT_BR e esqueça os "lower" da vida para ignorar
      > diferenciação de caixa.
      >
      > A ordem das clausulas de pesquisa não importam ao contrario do que foi
      > dito em outro e-mail...
      >
      >
      >
      > ------------------------------------
      >
      > http://www.comunidade-firebird.org
      > Onde o Firebird Fala Português!
      >
      > [Para ser removido deste grupo, envie um e-mail para:
      > cflp_suporte-unsubscribe@...]
      >
      > Links do Yahoo! Grupos
      >
      >
      >

      --
      *Jean Paul Lopes*
      Diretor Técnico
      *TSA Tecnologia Sistemas e Automação Ltda.*
      51-3042.6084

      Rua Cel. Sarmento, 1699 / 102
      Centro - Gravataí - RS

      http://www.tsa.net.br

      [As partes desta mensagem que não continham texto foram removidas]





      [As partes desta mensagem que não continham texto foram removidas]
    • Mostrar todas as 4 mensagens neste tópico