XP is just a number | |
PerlMonks |
Re: DBD::Sqlite queries slow - and gives wrong resultsby erix (Prior) |
on Dec 12, 2017 at 05:45 UTC ( [id://1205333]=note: print w/replies, xml ) | Need Help?? |
update: See last lines I tried to repeat this performance by making an SQLite database of those two tables + indexes, together 600 MB, employees with 18M rows, groups with just 3 rows.
"select * from employees where sam_account_name = '<some unique value>'" takes 3 seconds. Your query takes even longer. So, it seems your results are normal. SQLite is not a particularly fast database. (Then again, I know next to nothing of SQLite; it's always slow-ish in my hands so maybe I do something wrong.) FWIW, postgres runs this same query in less than a millisecond, with the same data. Could sqllitestudio be caching the query, or the data? It seems likely; sqllitestudio is just a wrapper, from what I read on its website. How fast is a SQLite commandline query? Maybe you can try something like: time sqlite3 ~/employee.db "select e.* from employees e, groups g where e.sam_account_name = g.sam_account_name and g.group_name = 'whatever' order by e.last_name, e.first_name" (Sorry, I don't know the windows invocation.) update: Mea culpa: I botched the indexing (didn't commit..), and with the indexes fixed it worked all right: fast, and just as fast as postgres. So I take all the above back. update 2: now ran it on windows 7 too and it was PDQ there as well.
In Section
Seekers of Perl Wisdom
|
|