On Sun, Oct 25, 2009 at 9:49 AM, Igor Tandetnik <itandet...@mvps.org> 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 sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users