gpt4 book ai didi

MYSQL 带范围的多重复合索引

转载 作者:行者123 更新时间:2023-11-29 16:04:33 26 4
gpt4 key购买 nike

我对MYSQL带范围的多重复合索引有一些疑问。例如,如果我有以下索引:

列(A、B、C)中的多列索引

以及以下查询

其中 A=2 AND B>5 AND C=3

问题: - 索引将使用列 (A,B,C) 或仅使用 (A, B)

这个怎么样:

其中 A=2 AND B IN (1,2,3) AND C=4

谢谢!

最佳答案

Question: - The index will use the columns (A,B,C) or only (A, B)

最有可能的是(A,B)。索引是位置索引,因此如果前一列未使用相等性,则它们无法访问下一列。但根据表统计信息,全表扫描可能会更快。

WHERE A=2 AND B IN (1,2,3) AND C=4

也许:

  • 仅 (A),或
  • (A,B)三次,
  • 或者通过全表扫描来获取其中任何一个。

统计数据肯定会产生很大的影响。本质上,A 是否具有选择性?如果不是,那么全表扫描可能比使用索引更快。

关于MYSQL 带范围的多重复合索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55855816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com