执行的sql是这个
SELECT max(id) FROM table GROUP BY user_id, asset
当索引是user_id,asset,business,business_id的联合索引时,执行计划如下
当索引是user_id,asset的联合索引时,执行计划如下
为什么联合索引多加了两个额外字段,导致这个分组查询效率下降呢?
执行的sql是这个
SELECT max(id) FROM table GROUP BY user_id, asset
当索引是user_id,asset,business,business_id的联合索引时,执行计划如下
当索引是user_id,asset的联合索引时,执行计划如下
为什么联合索引多加了两个额外字段,导致这个分组查询效率下降呢?
5 回答3.3k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
5 回答1.4k 阅读
你是指扫描的行数么?即rows?
另外问下,第一种情况中的key是idx_unique,这个索引就是联合索引『user_id,asset,business,business_id』么?