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 的執行機制,對於優化查詢和理解數據庫內核有很大幫助。