My friends, my life, my style - James S.F. Hsieh

12/24/2010

SQLIte Query Planning

SQL 語言隱藏了大部分演算法跟資料結構的細節, 這讓 SQL 變得有彈性與容易使用, 但付出的代價就是效率, 當你要做出高效的 query 時, 你就必須了解你的 query statement 是怎麼被分析與執行的, 如果你能夠了解這些, 你就可以利用以前演算法的複雜度分析來思考 query statement, 如此也能找到更好的 statement 跟 對應的 indexing. 這幾篇文章讓我獲益不少, 在此分享一下吧:)

The SQLite Query Planner http://www.sqlite.org/optoverview.html
EXPLAIN QUERY PLAN http://www.sqlite.org/eqp.html
Query Planning http://www.sqlite.org/queryplanner.html
Performance Tuning http://www.sqlite.org/cvstrac/wiki?p=PerformanceTuning
How do I improve the performance of SQLite? http://stackoverflow.com/questions/1711631/how-do-i-improve-the-performance-of-sqlite

Some SQLite 3.7 Benchmarks http://blog.quibb.org/2010/10/some-sqlite-3-7-benchmarks/
Fast Bulk Inserts into SQLite http://blog.quibb.org/2010/08/fast-bulk-inserts-into-sqlite/