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


Responder a