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
> 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/>
> 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. <http://www.eset.com.br> 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 >>>>>

<*> 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

 

Responder a