“我的 Postgres 查询为什么这么慢?连接串在 ~/.pg-creds 里。”
MoClaw 会做什么
- 1 读取 ~/.pg-creds(因为里面含有凭据,会先请你确认)。
- 2 用 psql 连接,并对你标记的那条查询运行 EXPLAIN ANALYZE。
- 3 发现对 400 万行做了一次顺序扫描(sequential scan),而在 (user_id, created_at) 上建索引会有帮助。
- 4 生成 CREATE INDEX 语句和对应的回滚语句,可直接粘贴使用。
回复:“找到了——查询规划器在做顺序扫描,因为 (user_id, created_at) 上没有索引。加上这个复合索引后,成本从 84,000 降到了 12。这是 CREATE INDEX 语句,还有一条以防万一的回滚语句。”你应用后,下一次查询在 14ms 内完成。