SQLite Query Explainer 是一個由 Simon Willison 開發的互動式工具,它允許使用者在瀏覽器中直接執行 SQLite 查詢,並深入理解 SQLite 內部是如何執行這些查詢的。該工具的核心功能是:在使用者提交查詢後,它不僅會返回查詢結果,還會對 EXPLAIN QUERY PLAN 和低階別的 EXPLAIN 位元組碼輸出進行逐行註解,用通俗易懂的英語解釋查詢規劃器和虛擬機器每一步在做什麼。這對於那些希望深入瞭解 SQLite 工作原理的開發者來說,是一個非常有價值的學習輔助工具。
這個工具的誕生源於 Julia Evans 的一篇博文《Learning a few things about running SQLite》,文中她感嘆“也許有一天我能學會閱讀查詢計劃”。Willison 深感共鳴,於是使用 Fable(一個基於 Claude Mythos 的 AI 工具)構建了這個直譯器。從技術實現上看,該工具巧妙地運用了 Pyodide 將 Python 和 SQLite 編譯成 WebAssembly,從而在瀏覽器環境中實現了完整的 SQLite 功能。這使得使用者無需安裝任何軟體,只需開啟網頁即可體驗。
然而,Willison 也提醒使用者保持謹慎。他坦言自己對 SQLite 查詢計劃的瞭解還不夠深入,無法完全確保工具生成解釋的絕對準確性。儘管如此,他認為這些解釋看起來相當合理(cromulent)。該工具完全開源,程式碼託管在 GitHub 上,歡迎社群共同改進和驗證。透過這個工具,開發者可以更直觀地學習 SQLite 的執行機制,對於最佳化查詢和理解資料庫核心有很大幫助。