RES: RES: [delphi-br] DBexpress e Firebird
Tráfego e tempo de resposta são duas coisas diferentes. Acho que você está confundindo. O tempo de tráfego independe dos dados estarem ordenados ou não. O tempo de resposta depende do tempo do trafego mais o tempo do processo no servidor. -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Joel Alexandre Enviada em: quarta-feira, 3 de outubro de 2007 18:49 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] DBexpress e Firebird Senhores, Se me permitem dar um pitaco, eu não estou entendendo porque este assunto está gerando tanta polêmica. 2 fatores tem que ser considerados nesta questão: 1) Se o banco está utilizando indice para a composição do ORDER BY 2) A quantidade de registros Vamos aos casos: CASO A: Grande quantidade de registros e campo não indexado usando ORDER BY O ORDER BY no banco é demorado - Perde-se muito tempo O Tráfego é X tempo para preencher o ClientDataSet Não há necessidade de ordenar no CDS pois os dados já o estão. CASO B: Grande quantidade de registros e campo indexado usando ORDER BY O ORDER BY no banco é rápido - Perde-se pouco tempo O Tráfego demora X tempo para preencher o ClientDataSet Não há necessidade de ordenar no CDS pois os dados já o estão. CASO C: Grande quantidade de registros e campo indexado ou não e NÃO usando ORDER BY Como não há ORDER BY no banco não há perda de tempo O Tráfego demora X tempo para preencher o ClientDataSet HÁ necessidade de ordenar no CDS pois os dados já o estão - Pouca demora pois os dados estão na memória Caso IDEAL: Campo Indexado e com o uso de ORDER BY, pois, o tempo para indexação é tão pequeno que não se justifica buscar os dados desordenados e ordenar na memoria. O colega tem razão quando diz que perde-se tempo no tráfego, concordo com ele. Agora, temos que analisar qual a circunstância deste processo, pois, com o advento do SQL, o uso de grande quantidade de dados trafegando na rede foi banida a muito tempo e é usado em ocasiões específicas como relatorios etc.. Portanto, indexar dados tanto no servidor como localmente é operações rápidas que não levam mais do que 10ms. É isso aí pessoal.. Vamos pra outro tópico? []Os Joel Certo, eu entendi o que vocês querem dizer, eu utilizo a ordenação no TClientDataSet também. Mas por exemplo, utilizando o IBExpert mesmo, façam um select sem order by e vejam na análise quantos registros foram lidos e o tempo de resposta do pacote, agora utilizem order by... o tempo é infinitamente menor, não tem comparação. Seguindo essa lógico, um clientdataset que trazer um pacote de registros sem order by, vai demorar mais do que um que traga com order by, pq a questão é o select em si... o pacote de registros vai trafegar na rede de qualquer maneira. Não? Vitor. _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Walter Alves Chagas Junior Enviada em: quarta-feira, 3 de outubro de 2007 17:02 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Uma coisa é você ordenar um dataset já pronto em memória local, outra é fazer isto em trafego na rede e dando um trabalho adicional ao SGBD []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] mailto:wchagas%40telemont.com.br com.br Fone: (31) 3389-8217 Fax: (31) 3389-8215 Code Gear: http://cc.codegear. http://cc.codegear.com/Author/46502 com/Author/46502 -Mensagem original- De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Vitor Redes Enviada em: quarta-feira, 3 de outubro de 2007 16:34 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Mas, teoricamente, o ORDER BY é o que dita se o select vai ser indexado ou não. Carregar um select sem índice em memória para depois organiza-lo, seguindo essa lógica, demoraria muito mais. Vitor. _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Bruno Lichot Enviada em: quarta-feira, 3 de outubro de 2007 15:53 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. No meu exemplo do dd 8 mostra como fazer isso http://cc.codegear. http://cc.codegear. http://cc.codegear.com/Author/795118 com/Author/795118 com/Author/795118 abs BL De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED
Re: RES: RES: [delphi-br] DBexpress e Firebird
Davi Eduardo Borges Wall escreveu: Tráfego e tempo de resposta são duas coisas diferentes. Acho que você está confundindo. O tempo de tráfego independe dos dados estarem ordenados ou não. O tempo de resposta depende do tempo do trafego mais o tempo do processo no servidor. Boa tarde Davi, Não estou confundindo não. É que o tempo total gasto = Tempo do servidor pra ordenar + Tempo na transferencia + Tempo para o CDS ordernar É óbvio que sei que o ponto comum entre as duas coisas é o tempo, mas que as duas são distintas, são. JOel -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] DBexpress e Firebird
Qual seria o problema em utilizar o OrderBy? De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacucelulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] DBexpress e Firebird
Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacucelulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi Eduardo Borges Wall Enviada em: quarta-feira, 3 de outubro de 2007 13:51 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Qual seria o problema em utilizar o OrderBy? De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] DBexpress e Firebird
Tinha este problema no SQL Server descobri que era o índice de chave primaria. Usei a propriedade IndexFieldName do clienteDataset. Elcio Domingos Ramos Demag Cranes Components Ltda. Depto. de Engenharia Fone: xx (11) 2145-7823 [EMAIL PROTECTED] www.demagcranes.com.br De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacucelulose.com.br/ http://www.iguacucelulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] DBexpress e Firebird
Legal, testei e parece que funcionou vou testar mais, mas estou tendo outro problema agora, quando abro a tabela e dou um inserir ao invés de ele criar um novo ele edita o ultimo registro ai tenho que cancelar e clicar em inserir novamente, ai sim ele cria um novo, tem idéia do que pode ser?? Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacucelulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Elcio Domingos Ramos Enviada em: quarta-feira, 3 de outubro de 2007 14:17 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Tinha este problema no SQL Server descobri que era o índice de chave primaria. Usei a propriedade IndexFieldName do clienteDataset. Elcio Domingos Ramos Demag Cranes Components Ltda. Depto. de Engenharia Fone: xx (11) 2145-7823 elcio.ramos@ mailto:elcio.ramos%40demagcranes.com.br demagcranes.com.br www.demagcranes.com.br De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [delphi-br] DBexpress e Firebird
Marcelo Mendes de Oliveira wrote: Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Não é bug, é apenas um fato. Não há qualquer garantia da ordem dos objetos em um banco sql caso você não utilize a cláusula order by. -- Joao Morais Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacucelulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi Eduardo Borges Wall Enviada em: quarta-feira, 3 de outubro de 2007 13:51 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Qual seria o problema em utilizar o OrderBy? De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda
RES: [delphi-br] DBexpress e Firebird
Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. No meu exemplo do dd 8 mostra como fazer isso http://cc.codegear.com/Author/795118 abs BL De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 14:02 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacucelulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Davi Eduardo Borges Wall Enviada em: quarta-feira, 3 de outubro de 2007 13:51 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Qual seria o problema em utilizar o OrderBy? De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 2569 (20071003) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] DBexpress e Firebird
Mas, teoricamente, o ORDER BY é o que dita se o select vai ser indexado ou não. Carregar um select sem índice em memória para depois organiza-lo, seguindo essa lógica, demoraria muito mais. Vitor. _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Bruno Lichot Enviada em: quarta-feira, 3 de outubro de 2007 15:53 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. No meu exemplo do dd 8 mostra como fazer isso http://cc.codegear. http://cc.codegear.com/Author/795118 com/Author/795118 abs BL De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 14:02 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Davi Eduardo Borges Wall Enviada em: quarta-feira, 3 de outubro de 2007 13:51 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Qual seria o problema em utilizar o OrderBy? De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 2569 (20071003) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset. http://www.eset.com.br com.br [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [delphi-br] DBexpress e Firebird
Bruno Lichot wrote: Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. Deve haver algum mal entendido. Daonde é que tirasse esta informação? -- Joao Morais
RES: [delphi-br] DBexpress e Firebird
De forma nenhuma, pois atraves do clientdataset e possível criar dinamicamente índices em memória e ordena-los. E mais rápido e performatico usar a ordenação em memória do clientdataset, pois economiza recursos e torna mais rápido a obtenção de registros do banco não usando order by. Segue um exemplo de função q trabalha em conjunto com o dbgrid para odenacao e clientdataset, ela esta completamente implementada no exemplo do DDD 8 no meu link de downloads. http://cc.codegear.com/Author/795118 procedure TDM.OrdenaDataSetGrid(var CDS: TClientDataSet; var DBG: TDBGrid; Column: TColumn); const idxDefault = 'DEFAULT_ORDER'; var strColumn : string; i : integer; bolUsed : boolean; idOptions : TIndexOptions; begin strColumn := idxDefault; if Column.Field.FieldKind in [fkCalculated, fkLookup, fkAggregate] then Exit; if Column.Field.DataType in [ftBlob, ftMemo] then Exit; for i := 0 to DBG.Columns.Count - 1 do begin DBG.Columns[i].Title.Font.Style := []; end; DBG.Columns[Column.Index].Title.Font.Style := [fsBold]; bolUsed := (Column.Field.FieldName = CDS.IndexName); CDS.IndexDefs.Update; for i := 0 to CDS.IndexDefs.Count - 1 do begin if CDS.IndexDefs.Items[i].Name = Column.Field.FieldName then begin strColumn := Column.Field.FieldName; case (CDS.IndexDefs.Items[i].Options = [ixDescending]) of True : idOptions := []; False : idOptions := [ixDescending]; end; end; end; if (strColumn = idxDefault) or (bolUsed) then begin if bolUsed then CDS.DeleteIndex(Column.Field.FieldName); try CDS.AddIndex(Column.Field.FieldName, Column.Field.FieldName, idOptions, '', '', 0); strColumn := Column.Field.FieldName; except if bolUsed then strColumn := idxDefault; end; end; try CDS.IndexName := strColumn; except CDS.IndexName := idxDefault; end; end; Atenciosamente, Bruno Lichot CodeGear Product Evangelist http://www.codegear.com http://cc.codegear.com/Author/795118 De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Vitor Redes Enviada em: quarta-feira, 3 de outubro de 2007 16:34 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Mas, teoricamente, o ORDER BY é o que dita se o select vai ser indexado ou não. Carregar um select sem índice em memória para depois organiza-lo, seguindo essa lógica, demoraria muito mais. Vitor. _ De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Bruno Lichot Enviada em: quarta-feira, 3 de outubro de 2007 15:53 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. No meu exemplo do dd 8 mostra como fazer isso http://cc.codegear. http://cc.codegear.com/Author/795118 com/Author/795118 abs BL De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 14:02 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Davi Eduardo Borges Wall Enviada em: quarta-feira, 3 de outubro de 2007 13:51 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Qual seria o problema em utilizar o OrderBy? De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de
RES: RES: [delphi-br] DBexpress e Firebird
João, O problema em usar order by vai depender do numero de registros que o dataset vai trazer. Até um 50 nada haver, mas em uns 300, já que o SQL vai ter que trazer e ainda por cima ordenar os registros. Ou seja, é um trabalho a mais. Eu mesmo não uso mais Order By nas sentenças SQL. Eu faço a ordenação pelo CDS e até deixo isto a critério do usuário com uma função que, inclusive, postei aqui outro dia. []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] Fone: (31) 3389-8217 Fax: (31) 3389-8215 Code Gear: http://cc.codegear.com/Author/46502 -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Joao Morais Enviada em: quarta-feira, 3 de outubro de 2007 16:13 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] DBexpress e Firebird Bruno Lichot wrote: Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. Deve haver algum mal entendido. Daonde é que tirasse esta informação? -- Joao Morais -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos
RES: [delphi-br] DBexpress e Firebird
Uma coisa é você ordenar um dataset já pronto em memória local, outra é fazer isto em trafego na rede e dando um trabalho adicional ao SGBD []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] Fone: (31) 3389-8217 Fax: (31) 3389-8215 Code Gear: http://cc.codegear.com/Author/46502 -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Vitor Redes Enviada em: quarta-feira, 3 de outubro de 2007 16:34 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Mas, teoricamente, o ORDER BY é o que dita se o select vai ser indexado ou não. Carregar um select sem índice em memória para depois organiza-lo, seguindo essa lógica, demoraria muito mais. Vitor. _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Bruno Lichot Enviada em: quarta-feira, 3 de outubro de 2007 15:53 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. No meu exemplo do dd 8 mostra como fazer isso http://cc.codegear. http://cc.codegear.com/Author/795118 com/Author/795118 abs BL De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 14:02 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Davi Eduardo Borges Wall Enviada em: quarta-feira, 3 de outubro de 2007 13:51 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Qual seria o problema em utilizar o OrderBy? De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 2569 (20071003) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset. http://www.eset.com.br com.br [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos
Re: RES: RES: [delphi-br] DBexpress e Firebird
Walter Alves Chagas Junior wrote: João, O problema em usar order by vai depender do numero de registros que o dataset vai trazer. Até um 50 nada haver, mas em uns 300, já que o SQL vai ter que trazer e ainda por cima ordenar os registros. Ou seja, é um trabalho a mais. Eu mesmo não uso mais Order By nas sentenças SQL. Eu faço a ordenação pelo CDS e até deixo isto a critério do usuário com uma função que, inclusive, postei aqui outro dia. Isso não tem nada a ver. Order by no banco sempre será muito mais rápido do que no cliente, exceto quando os dados já estão todos em cache no cliente -- o que não foi o caso. -- Joao Morais
RES: [delphi-br] DBexpress e Firebird
Certo, eu entendi o que vocês querem dizer, eu utilizo a ordenação no TClientDataSet também. Mas por exemplo, utilizando o IBExpert mesmo, façam um select sem order by e vejam na análise quantos registros foram lidos e o tempo de resposta do pacote, agora utilizem order by... o tempo é infinitamente menor, não tem comparação. Seguindo essa lógico, um clientdataset que trazer um pacote de registros sem order by, vai demorar mais do que um que traga com order by, pq a questão é o select em si... o pacote de registros vai trafegar na rede de qualquer maneira. Não? Vitor. _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Walter Alves Chagas Junior Enviada em: quarta-feira, 3 de outubro de 2007 17:02 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Uma coisa é você ordenar um dataset já pronto em memória local, outra é fazer isto em trafego na rede e dando um trabalho adicional ao SGBD []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] mailto:wchagas%40telemont.com.br com.br Fone: (31) 3389-8217 Fax: (31) 3389-8215 Code Gear: http://cc.codegear. http://cc.codegear.com/Author/46502 com/Author/46502 -Mensagem original- De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Vitor Redes Enviada em: quarta-feira, 3 de outubro de 2007 16:34 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Mas, teoricamente, o ORDER BY é o que dita se o select vai ser indexado ou não. Carregar um select sem índice em memória para depois organiza-lo, seguindo essa lógica, demoraria muito mais. Vitor. _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Bruno Lichot Enviada em: quarta-feira, 3 de outubro de 2007 15:53 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. No meu exemplo do dd 8 mostra como fazer isso http://cc.codegear. http://cc.codegear. http://cc.codegear.com/Author/795118 com/Author/795118 com/Author/795118 abs BL De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 14:02 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Davi Eduardo Borges Wall Enviada em: quarta-feira, 3 de outubro de 2007 13:51 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Qual seria o problema em utilizar o OrderBy? De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacuce http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br
RES: [delphi-br] DBexpress e Firebird
Fazer isto em trafego na rede ? A ordenação seria feita no servidor do banco de dados. O que o tráfego tem a ver ? ordenado ou não, seria a mesma coisa. De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Walter Alves Chagas Junior Enviada em: quarta-feira, 3 de outubro de 2007 17:02 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Uma coisa é você ordenar um dataset já pronto em memória local, outra é fazer isto em trafego na rede e dando um trabalho adicional ao SGBD []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] mailto:wchagas%40telemont.com.br Fone: (31) 3389-8217 Fax: (31) 3389-8215 Code Gear: http://cc.codegear.com/Author/46502 -Mensagem original- De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Vitor Redes Enviada em: quarta-feira, 3 de outubro de 2007 16:34 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Mas, teoricamente, o ORDER BY é o que dita se o select vai ser indexado ou não. Carregar um select sem índice em memória para depois organiza-lo, seguindo essa lógica, demoraria muito mais. Vitor. _ De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Bruno Lichot Enviada em: quarta-feira, 3 de outubro de 2007 15:53 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. No meu exemplo do dd 8 mostra como fazer isso http://cc.codegear. http://cc.codegear.com/Author/795118 com/Author/795118 abs BL De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 14:02 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Davi Eduardo Borges Wall Enviada em: quarta-feira, 3 de outubro de 2007 13:51 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Qual seria o problema em utilizar o OrderBy? De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 13:14 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: [delphi-br] DBexpress e Firebird Boa Tarde Pessoal, Gostaria de saber se algum amigo sabe o que acontece quando o client Dataset trás os dados desordenados, tipo ele traz assim 40, 41, 42, 43, 50, 44, 45, 46, 51, 47, 48, 49 e não na ordem como está na base de dados, ai para que ele ordene eu tenho que dar um order by no SQLDataSet. Alguém sabe como resolver isto?? Obrigado pela ajuda Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br http://www.iguacuce http://www.iguacuce http://www.iguacucelulose.com.br/ lulose.com.br/ lulose.com.br/ P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 2569 (20071003) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset. http
Re: RES: [delphi-br] DBexpress e Firebird
Senhores, Se me permitem dar um pitaco, eu não estou entendendo porque este assunto está gerando tanta polêmica. 2 fatores tem que ser considerados nesta questão: 1) Se o banco está utilizando indice para a composição do ORDER BY 2) A quantidade de registros Vamos aos casos: CASO A: Grande quantidade de registros e campo não indexado usando ORDER BY O ORDER BY no banco é demorado - Perde-se muito tempo O Tráfego é X tempo para preencher o ClientDataSet Não há necessidade de ordenar no CDS pois os dados já o estão. CASO B: Grande quantidade de registros e campo indexado usando ORDER BY O ORDER BY no banco é rápido - Perde-se pouco tempo O Tráfego demora X tempo para preencher o ClientDataSet Não há necessidade de ordenar no CDS pois os dados já o estão. CASO C: Grande quantidade de registros e campo indexado ou não e NÃO usando ORDER BY Como não há ORDER BY no banco não há perda de tempo O Tráfego demora X tempo para preencher o ClientDataSet HÁ necessidade de ordenar no CDS pois os dados já o estão - Pouca demora pois os dados estão na memória Caso IDEAL: Campo Indexado e com o uso de ORDER BY, pois, o tempo para indexação é tão pequeno que não se justifica buscar os dados desordenados e ordenar na memoria. O colega tem razão quando diz que perde-se tempo no tráfego, concordo com ele. Agora, temos que analisar qual a circunstância deste processo, pois, com o advento do SQL, o uso de grande quantidade de dados trafegando na rede foi banida a muito tempo e é usado em ocasiões específicas como relatorios etc.. Portanto, indexar dados tanto no servidor como localmente é operações rápidas que não levam mais do que 10ms. É isso aí pessoal.. Vamos pra outro tópico? []Os Joel Certo, eu entendi o que vocês querem dizer, eu utilizo a ordenação no TClientDataSet também. Mas por exemplo, utilizando o IBExpert mesmo, façam um select sem order by e vejam na análise quantos registros foram lidos e o tempo de resposta do pacote, agora utilizem order by... o tempo é infinitamente menor, não tem comparação. Seguindo essa lógico, um clientdataset que trazer um pacote de registros sem order by, vai demorar mais do que um que traga com order by, pq a questão é o select em si... o pacote de registros vai trafegar na rede de qualquer maneira. Não? Vitor. _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Walter Alves Chagas Junior Enviada em: quarta-feira, 3 de outubro de 2007 17:02 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Uma coisa é você ordenar um dataset já pronto em memória local, outra é fazer isto em trafego na rede e dando um trabalho adicional ao SGBD []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] mailto:wchagas%40telemont.com.br com.br Fone: (31) 3389-8217 Fax: (31) 3389-8215 Code Gear: http://cc.codegear. http://cc.codegear.com/Author/46502 com/Author/46502 -Mensagem original- De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Vitor Redes Enviada em: quarta-feira, 3 de outubro de 2007 16:34 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Mas, teoricamente, o ORDER BY é o que dita se o select vai ser indexado ou não. Carregar um select sem índice em memória para depois organiza-lo, seguindo essa lógica, demoraria muito mais. Vitor. _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Bruno Lichot Enviada em: quarta-feira, 3 de outubro de 2007 15:53 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Não e aconselhavel o uso de order by e clausulas SQL por conta do peso de processamento q este usa, o ideal e usar no clientdataset índices em memória q fazem a mesma coisa so q menos custoso e mais rápido. No meu exemplo do dd 8 mostra como fazer isso http://cc.codegear. http://cc.codegear. http://cc.codegear.com/Author/795118 com/Author/795118 com/Author/795118 abs BL De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Marcelo Mendes de Oliveira Enviada em: quarta-feira, 3 de outubro de 2007 14:02 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RES: [delphi-br] DBexpress e Firebird Nenhum problema só quero saber o porque que isto acontece, pois até então nunca tinha visto este tipo de bug Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3551-0177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a