Vc pode passar o where que retorna apenas 50 registros direto para a query. É o que faço aqui pra retornar apenas 1 registro, não uso o PacketRecord, pois o sql também é executado rapidamente por usar indices e retornar poucos dados.
Em 27 de julho de 2010 09:36, Eny Urias <enyur...@yahoo.com.br> escreveu: > > > Não quero mesmo trazer "todos" os registros do pai... Mas, se o cliente > quiser > fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim eu > nao > quero trazer "tudo"... > > Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e abro > o > filho atraves do parametro enviado pelo pai... dessa forma ele só me traz > os > filhos do pai onde está o ponteiro. > > Tem alguma idéia melhor? > -- > Eny Trova Urias > > "Somos o que repetitivamente fazemos, portanto, a excelência não é um > feito, mas > um hábito"- Aristóteles > > ________________________________ > De: Fabricio Colombo > <fabricio.colombo....@gmail.com<fabricio.colombo.mva%40gmail.com> > > > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Enviadas: Terça-feira, 27 de Julho de 2010 9:01:07 > Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS] > > > Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não > conheço nenhum DataSet que faça diferente. O que vc queria é que ele > fizesse > *Lazy Loading*. > ** <http://en.wikipedia.org/wiki/Lazy_loading>Na minha opnião, quase nunca > é > > viável carregar todos os dados do pai, principalmente se utilizar DataSnap, > e portanto, isso foi abolido no nosso sistema. > > Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 10 > mil até mais de 4 milhões de registros, então temos que fazer o sistema > pensando no cliente de 4 milhões. Não é viável abrir a tabela inteira, > mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um > registro por vez, e é o suficiente, ele não precisa de todos os registros. > > Nosso sistema nem tem navegador de registros e isso não dificulta o > trabalho > do usuário, pois vc tem que suprir essa "limitação" com pesquisas mais > ricas > e agéis. > > Pense um pouco na escalabilidade do sistema. E se o seu usuário abrir essa > tabela de 100.000 e clicar para ir ao último registro? Ele não vai trazer > todos os registros da mesma maneira, só que de modo mais custoso? > > Como vc controla a transação, visto que aparentemente vc não usa mais > Nested > Datasets? > > Abraços, > > Fabricio > > Em 26 de julho de 2010 19:45, Eny Urias > <enyur...@yahoo.com.br<enyurias%40yahoo.com.br>> > escreveu: > > > > > > > Vamos fazer o seguinte.... > > > > Utilize uma ferramenta tracer e depois me fala o que acontece no momento > em > > que > > vc abre o cds Pai. > > > > No meu acontece assim: vamos imaginar uma tabela pai com 100.000 > > registros... E > > uma tabela filho com 10 itens para cada pai... Então o programa vai > trazer > > na > > memória 1.000.000 certo? > > > > Eu quero carregar todos os registros do cds pai e, somente trazer os do > > filho, > > quando o ponteiro estiver no pai.. entendeu? Foi aí que eu comecei a > > utilizar o > > evento AfterScroll... > > > > > > -- > > Eny Trova Urias > > > > "Somos o que repetitivamente fazemos, portanto, a excelência não é um > > feito, mas > > um hábito"- Aristóteles > > > > ________________________________ > > De: Andre Yahoo <gyncow...@yahoo.com.br > > <gyncowboy%40yahoo.com.br><gyncowboy% > 40yahoo.com.br>> > > > > Para: delphi-br@yahoogrupos.com.br > > <delphi-br%40yahoogrupos.com.br><delphi-br% > 40yahoogrupos.com.br> > > > Enviadas: Sábado, 24 de Julho de 2010 20:33:03 > > Assunto: Re: Res: [delphi-br] [CLIENTDATASET 3 TABELAS] > > > > Cara Eny, > > > > Não entendi o porque do problema, uma vez que ao carregar o registro > > pai, você vai estar filtrando ele, o que retornará para o registro > > mestre somente um registro, já para o filho você estará retornando > todos > > > > os detalhes que estão vinculados com este registro mestre. > > > > Mas você disse: "quando o CDS carrega os registros do Master, ele tras > > também, para cada registro pai, todos os registros do filho", quer dizer > > que estava retornando todos os mestres ? Para a programação C/S você > > retorna somente um registro mestre, que é o que o usuário vai trabalhar > > nele, não precisa retornar todos os registros. Se era essa a situação, > o > > > > problema era estrutural e com erro de programação, não do componente > ou > > da maneira com os mesmos eram usados. > > > > Se não for isso que acontecia e puder explicar melhor, pois acho que > > muitos como eu podem não ter entendido a situação que ocorria muito > bem. > > > > Atenciosamente, > > > > André Luis da Silveira > > > > Siagri - Sistemas de Gestao Ltda. > > > > __________________________________________________ > > Fale com seus amigos de graça com o novo Yahoo! Messenger > > http://br.messenger.yahoo.com/ > > > > [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 >>>>> > > [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: delphi-br-ow...@yahoogrupos.com.br 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: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html