2020-11-08:在Mysql中,三个字段A、B、C的联合索引,查询条件是B、A、C,会用到索引吗?
发布日期:2021-05-04 20:00:13 浏览次数:27 分类:精选文章

本文共 435 字,大约阅读时间需要 1 分钟。

福哥答案2020-11-08:

关于索引优化的问题,MySQL的优化器会根据实际查询情况进行优化。例如,当执行查询 B='a2' AND A='a2' AND C='a2' 时,会走索引。这种情况下,优化器会将BAC优化为ABC,从而提升查询效率。

在实际应用中,索引的使用情况可能因查询条件而有所不同。例如,以下查询会走索引:

  • B >='a1' AND B<='a2' AND A >='a1' AND A<='a2' AND C >='a1' AND C<='a2'
  • B BETWEEN 'a1' AND 'a2' AND A BETWEEN 'a1' AND 'a2' AND C BETWEEN 'a1' AND 'a2'
  • B='a1' AND A LIKE '%a' AND C='a1'
  • 而对于像 B='a1' AND A LIKE '%a' AND C='a1' 这样的查询,可能不会走索引。

    这种情况下,查询执行方式会受到影响,需要根据实际需求进行优化。

    上一篇:2020-11-09:谈谈布隆过滤器和布谷鸟过滤器的相同点和不同点?
    下一篇:2020-11-07:已知一个正整数数组,两个数相加等于N并且一定存在,如何找到两个数相乘最小的两个数?

    发表评论

    最新留言

    不错!
    [***.144.177.141]2025年04月03日 18时29分15秒