这么看的话tidb的优化器还是靠谱的
CREATE INDEX idx_hash_number_target_id ON alert_history (hash, number, target_id);
因为联合索引遵循「最左前缀原则」,而你的 SQL 中:
只命中了第 1 列 hash,第 2、3 列完全不在索引里,优化器判断:
使用索引 hash 前缀的选择性太低,不如全表扫描。
组合索引
生产环境没用过
1 个赞
个人觉得,在大部分场景都是很靠谱的。
学习了
统计信息更新了嘛?
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。