Re: [sqlite] How does SQLite treat repeated expressions?
On Sun, Oct 25, 2009 at 10:56 AM, Kristoffer Danielsson <kristoffer.daniels...@live.se> wrote: > > Sure I can test this specific case, but my question is still relevant. Does > SQLite or does it not optimize repeated expressions? > > You are correct. Stated as above, your question is very valid as it is trying to ascertain the way SQLite works internally, which may be known to a few of the developers. > > Am I supposed to brute-force all possible expression repetitions to find it > out, when a simple "yes" or "no" from anybody - who knows about the inner > workings of SQLite - would suffice? > >> Date: Sun, 25 Oct 2009 10:08:01 -0500 >> From: punk.k...@gmail.com >> To: sqlite-users@sqlite.org >> Subject: Re: [sqlite] How does SQLite treat repeated expressions? >> >> 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
Re: [sqlite] How does SQLite treat repeated expressions?
Sure I can test this specific case, but my question is still relevant. Does SQLite or does it not optimize repeated expressions? Am I supposed to brute-force all possible expression repetitions to find it out, when a simple "yes" or "no" from anybody - who knows about the inner workings of SQLite - would suffice? > Date: Sun, 25 Oct 2009 10:08:01 -0500 > From: punk.k...@gmail.com > To: sqlite-users@sqlite.org > Subject: Re: [sqlite] How does SQLite treat repeated expressions? > > 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 _ Nya Windows 7 - Hitta en dator som passar dig! Mer information. http://windows.microsoft.com/shop ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] How does SQLite treat repeated expressions?
On Sun, Oct 25, 2009 at 9:49 AM, Igor Tandetnikwrote: > 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
Re: [sqlite] How does SQLite treat repeated expressions?
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? Igor Tandetnik ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] How does SQLite treat repeated expressions?
Consider the two statements below. 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? _ Hitta hetaste singlarna på MSN Dejting! http://dejting.se.msn.com/channel/index.aspx?trackingid=1002952 ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users