🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
2 messages
2 total messages Started by Jaroslaw Zabiello Tue, 05 Feb 2008 12:44
Optymalne stronicowanie w RoR 2.0
#924
Author: Jaroslaw Zabiello
Date: Tue, 05 Feb 2008 12:44
17 lines
1609 bytes
Jak rozwiązujecie problem stronicowania w RoR 2.0? Chodzi mi o to że mam  
ciężkie zapytanie i nie chcę je 2x odpalać. Raz, aby zebrać ilość  
wszystkich rekordów, i dwa - aby pobrać porcję danych. Nie chcę też  
wykonywać je dwa razy i obrabiać w Ruby, bo mimo że RoR 2.0 keszuje 2  
wykonanie zapytania w ramach tego samego requestu, to jest zabójcze dla  
pamięci w wypadku gdy rekordów jest dużo (AR będzie je wszystkie zamieniał  
na obiekty i przepychał do klienta).

Idealnie by było tak jak jest to rozwiązane w Python DB API 2.0 gdzie dla  
MySQL odpalam cursor.execute("ciężki select) i ta metoda od razu zwraca z  
kursora ilość rekordów, ale nie przesyła nic do klienta. Kolejne porcje  
mogę pobierać za pomocą cursor.fetchmany(size=10).

-- 
Jarosław Zabiełło
http://blog.zabiello.com
irc://irc.eu.freenode.net/ruby.pl
Re: Optymalne stronicowanie w RoR 2.0
#926
Author: Jaroslaw Zabiello
Date: Tue, 05 Feb 2008 15:17
16 lines
1403 bytes
On Tue, 05 Feb 2008 12:44:10 -0000, Jaroslaw Zabiello <abuse@tpnet.pl>  
wrote:

> Idealnie by było tak jak jest to rozwiązane w Python DB API 2.0 gdzie  
> dla MySQL odpalam cursor.execute("ciężki select) i ta metoda od razu  
> zwraca z kursora ilość rekordów, ale nie przesyła nic do klienta.  
> Kolejne porcje mogę pobierać za pomocą cursor.fetchmany(size=10).

Widzę, że się da uzyskać podobny efekt, ale trzeba sięgnać to  
raw_connection
http://groups.google.com/group/derailed/browse_thread/thread/ca20732913966465

-- 
Jarosław Zabiełło
http://blog.zabiello.com
irc://irc.eu.freenode.net/ruby.pl
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads