I was just running a relative simple exists? query:
Page.exists?(["id > ?",i])
which equates to
SELECT COUNT(*) FROM `pages` WHERE (id > 1400000) LIMIT 1
You would think with a COUNT and a LIMIT 1, that things would be really
fast, but its SUPER slow, its trying to count all the records greater
than 1400000.
This is N times faster:
SELECT * FROM `pages` WHERE (id > 1400000) LIMIT 1
Do you guys think this needs to be changed, or not worth changing
COUNT(*) to just * even though its a "LIMIT 1" ?
I was just running a relative simple exists? query:
Page.exists?(["id > ?",i])
which equates to
SELECT COUNT(*) FROM `pages` WHERE (id > 1400000) LIMIT 1
You would think with a COUNT and a LIMIT 1, that things would be really
fast, but its SUPER slow, its trying to count all the records greater
than 1400000.
This is N times faster:
SELECT * FROM `pages` WHERE (id > 1400000) LIMIT 1
Do you guys think this needs to be changed, or not worth changing
COUNT(*) to just * even though its a "LIMIT 1" ?
Which version of rails are you running? I've looked at the source of
edge, 2-1-stable and 2-0-stable and for all those versions exists does
not appear to use count. Are you sure the query is coming from there?