我是靠谱客的博主 娇气烧鹅,最近开发中收集的这篇文章主要介绍mysql索引三个字段查询两个字段_2020-11-08:在Mysql中,三个字段A、B、C的联合索引,查询条件是B、A、C,会用到索引吗?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

福哥答案2020-11-08:

会走索引,原因是mysql优化器会把BAC优化成ABC。

CREATE TABLE `t_testabc2` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`A` varchar(255) NOT NULL,

`B` varchar(255) NOT NULL,

`C` varchar(255) NOT NULL,

`D` varchar(255) NOT NULL DEFAULT ‘‘‘‘‘‘,

PRIMARY KEY (`id`),

KEY `abc2` (`A`,`B`,`C`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

EXPLAIN SELECT * FROM t_testabc2 WHERE B=‘a2‘ AND A=‘a2‘ AND C=‘a2‘ --走索引

EXPLAIN SELECT * FROM t_testabc2 WHERE B >=‘a1‘ AND B<=‘a2‘ AND A >=‘a1‘ AND A<=‘a2‘ AND C >=‘a1‘ AND C<=‘a2‘ --走索引

EXPLAIN SELECT * FROM t_testabc2 WHERE B BETWEEN ‘a1‘ AND ‘a2‘ AND A BETWEEN ‘a1‘ AND ‘a2‘ AND C BETWEEN ‘a1‘ AND ‘a2‘ --走索引

EXPLAIN SELECT * FROM t_testabc2 WHERE B=‘a1‘ AND A LIKE ‘a%‘ AND C=‘a1‘ --不走索引

原文:https://www.cnblogs.com/waitmoon/p/13946084.html

最后

以上就是娇气烧鹅为你收集整理的mysql索引三个字段查询两个字段_2020-11-08:在Mysql中,三个字段A、B、C的联合索引,查询条件是B、A、C,会用到索引吗?...的全部内容,希望文章能够帮你解决mysql索引三个字段查询两个字段_2020-11-08:在Mysql中,三个字段A、B、C的联合索引,查询条件是B、A、C,会用到索引吗?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部