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 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] __________ Informação do NOD32 IMON 2570 (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]