RES: RES: [delphi-br] DBexpress e Firebird

2007-10-04 Por tôpico Davi Eduardo Borges Wall
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

2007-10-04 Por tôpico Joel Alexandre
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

2007-10-03 Por tôpico Davi Eduardo Borges Wall
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

2007-10-03 Por tôpico Marcelo Mendes de Oliveira
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

2007-10-03 Por tôpico Elcio Domingos Ramos
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

2007-10-03 Por tôpico Marcelo Mendes de Oliveira
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

2007-10-03 Por tôpico Joao Morais
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

2007-10-03 Por tôpico Bruno Lichot
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

2007-10-03 Por tôpico Vitor Redes
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

2007-10-03 Por tôpico Joao Morais
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

2007-10-03 Por tôpico Bruno Lichot
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

2007-10-03 Por tôpico Walter Alves Chagas Junior
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

2007-10-03 Por tôpico Walter Alves Chagas Junior
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

2007-10-03 Por tôpico Joao Morais
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

2007-10-03 Por tôpico Vitor Redes
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

2007-10-03 Por tôpico Davi Eduardo Borges Wall
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

2007-10-03 Por tôpico Joel Alexandre
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