Article View: pl.comp.lang.ruby
Article #924Optymalne stronicowanie w RoR 2.0
From: Jaroslaw Zabiello
Date: Tue, 05 Feb 2008 12:44
Date: Tue, 05 Feb 2008 12:44
17 lines
1609 bytes
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
Technical Details
Message-ID:
<op.t51xnwmgr2rg33@jzmbp.westglobal.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mail From: "Jaroslaw Zabiello" <abuse@tpnet.pl> Newsgroups: pl.comp.lang.ruby Subject: Optymalne stronicowanie w RoR 2.0 Date: Tue, 05 Feb 2008 12:44:10 -0000 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 17 Message-ID: <op.t51xnwmgr2rg33@jzmbp.westglobal.com> NNTP-Posting-Host: 62.77.187.21 Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1202215452 4411 62.77.187.21 (5 Feb 2008 12:44:12 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Tue, 5 Feb 2008 12:44:12 +0000 (UTC) X-User: hipertracker User-Agent: Opera Mail/9.25 (MacIntel) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit