On Sun, Oct 25, 2009 at 9:49 AM, Igor Tandetnik <[email protected]> wrote:
> Kristoffer Danielsson wrote:
>> A: SELECT COUNT(DataID) FROM Data GROUP BY DataID ORDER BY COUNT(DataID);
>>
>> B: SELECT COUNT(DataID) AS X FROM Data GROUP BY DataID ORDER BY X;
>>
>> Is statement B faster than A? Why?
>
> Last time I checked, SQLite didn't perform any kind of common subexpression
> elimitation. Its expression evaluator was very simple-minded, closely
> following the syntax tree.
>
> Things might have improved since then, but I wouldn't be surprised if
> statement A calls count() twice per row while statement B only once. I also
> think that any resulting difference in performance is likely to be
> immeasurably small. Why don't you test it and find out, if you are really
> curious?
>
+1 re "Why don't you test it and find out, if you are really curious?"
While I can certainly understand a question of the sort,
"I did A and I did B, and I found B to be faster than A; why?"
I really can't understand the point of questions such as,
"Here is A and B; which one will be faster?"
since the best person to answer the latter question is the person
posing the question -- just test it and find out.
Now, it could be that implementing A or B just for testing purposes
might be so difficult that the poster might want to get a sense
*before* diving into the test. That is understandable, but,
implementing something based solely on the unmeasured advice of others
is itself questionable.
--
Puneet Kishor http://www.punkish.org
Carbon Model http://carbonmodel.org
Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
Nelson Institute, UW-Madison http://www.nelson.wisc.edu
-----------------------------------------------------------------------
Assertions are politics; backing up assertions with evidence is science
=======================================================================
Sent from Madison, WI, United States
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users