SQLite EXPLAIN 看计划
为什么要学AI 写的 SQL 慢得离谱。不会看 EXPLAIN 你只能干瞪眼。
打个比方看地图导航:是绕路还是直走?EXPLAIN 就是给 SQL 看路线。
VibeCoder 场景Claude Code 写的查询要 30 秒,你想知道是不是没走索引。
你想知道 SELECT 在 SQLite 底层到底是怎么执行的。
前置本地装好 sqlite3 命令
- 01sqlite3 test.db 建表。
- 02python 脚本插入 1 万行。
- 03EXPLAIN QUERY PLAN 看 SCAN。
- 04CREATE INDEX idx_age ON users(age)。
- 05再 EXPLAIN 看 SEARCH USING INDEX。
粘贴到 Claude Code(或任何 LLM 终端)
教我用 SQLite 的 EXPLAIN QUERY PLAN 看查询计划。1. 给我建表 SQL:users(id, name, age)。2. 给我 Python 代码插入 1 万行随机数据。3. 教我跑 EXPLAIN QUERY PLAN SELECT * FROM users WHERE age > 18,输出会有 SCAN users 这种话。4. 解释 SCAN(全表扫描)和 SEARCH(用索引)的区别。5. 现在 SCAN 是因为没索引,告诉我加哪条索引 SQL,加完再 EXPLAIN,输出应该变成 SEARCH USING INDEX。✓ 完成判据同一条 SELECT 在加索引前后 EXPLAIN 输出从 SCAN 变 SEARCH。
坑不要在每个列上都加索引,写入会变慢,索引也占空间。