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

索引字段范围查询与离散值查询的性能差异及优劣原因

索引整数属性的两类查询性能对比

问题场景

文档包含一个已建立索引的整数属性A,取值范围为1~10,对比以下两类查询的性能差异:

查询1:查找所有A在2到7之间的文档
查询2:查找所有A等于2、9、4、7的文档

性能差异结论

两类查询存在明显性能差异,查询1(范围查询)的执行速度更快,核心原因如下:

  • 索引结构适配性:整数索引通常基于有序结构(如B+树),范围查询可以直接定位到区间起始点,顺着有序节点连续遍历获取数据,全程仅需一次索引定位操作。而查询2是多值等值查询,数据库需要分别定位每个目标值的索引位置,多次独立的索引查找会累计额外开销。
  • IO效率差异:范围查询在索引中对应连续的存储块,能充分利用数据库缓存机制,减少磁盘随机IO;多值等值查询的索引位置分散,读取时是随机IO,缓存命中率更低,IO耗时更高。
  • 执行计划复杂度:范围查询的执行逻辑简洁,仅需一次区间扫描;多值等值查询需要合并多个单值查询的结果集,合并过程会带来额外的计算开销。

内容的提问来源于stack exchange,提问作者Bear Bile Farming is Torture

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:22:06