Limit fires an extra query when the offset is more than 1. I created a temp 
table and executed the query
DB[:temp].limit(3,3).all

*First it executed this query*
START SELECT * FROM (SELECT * FROM "TEMP") "T1" WHERE (ROWNUM <= 1)
- END ( 0.0060s) SELECT * FROM (SELECT * FROM "TEMP") "T1" WHERE (ROWNUM <= 
1)

*and then this*

- START SELECT "ID", "NAME" FROM (SELECT "T1".*, ROWNUM 
"X_SEQUEL_ROW_NUMBER_X" FROM (SELECT * FROM "TEMP") "T1") "T1" WHERE 
(("X_SEQUEL_ROW_NUMBER_X" > 3) AND ("X_SEQUEL_ROW_NUMBER_X" <= (3 + 3)))

- END ( 0.0033s) SELECT "ID", "NAME" FROM (SELECT "T1".*, ROWNUM 
"X_SEQUEL_ROW_NUMBER_X" FROM (SELECT * FROM "TEMP") "T1") "T1" WHERE 
(("X_SEQUEL_ROW_NUMBER_X" > 3) AND ("X_SEQUEL_ROW_NUMBER_X" <= (3 + 3))) => 
[{:id=>0.4e1, :name=>"d"}, {:id=>0.5e1, :name=>"e"}]

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sequel-talk/04ce315f-6fdf-4bbc-ab82-525bb0a5326bn%40googlegroups.com.

Reply via email to