You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两种索引配置与查询场景下,索引是否均会被使用?

你的判断是正确的,具体分析如下:

场景1:联合索引与单条件查询

  • 索引定义:create index on post (owner_id, likes_count)
  • 查询语句:select * from post where owner_id = ?
  • 分析:联合索引遵循最左前缀匹配原则,owner_id是索引的第一列,查询条件完全匹配该列,数据库会使用这个联合索引的前缀部分来加速查询,不会走全表扫描。

场景2:两个单列索引与多条件查询

  • 索引定义:create index on post (owner_id) + create index on post (likes_count)
  • 查询语句:select * from post where owner_id = ? AND likes_count = ?
  • 分析:数据库优化器会根据数据分布选择最优执行策略:
    • 优先选择过滤效果更好的单列索引(比如owner_id区分度更高时,先用它过滤数据,再在结果集中匹配likes_count);
    • 也可能执行索引合并,同时使用两个索引并取结果集的交集。
      无论哪种方式,至少会用到其中一个索引,避免全表扫描。

内容的提问来源于stack exchange,提问作者J.J. Beam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:12:04