这期内容当中小编将会给大家带来有关mysql中怎么实现索引最左原则,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
建表
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`sex` tinyint(1) DEFAULT NULL,
`age` tinyint(2) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `Index_user` (`name`,`age`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
测试sql
第一种
mysql> explain SELECT * FROM `user` where name="tom" \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: user
partitions: NULL
type: ref
possible_keys: Index_user
key: Index_user
key_len: 43
ref: const
rows: 1
filtered: 100.00
Extra: NULL
第二种
mysql> explain SELECT * FROM `user` where age=18 and name="tom" \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: user
partitions: NULL
type: ref
possible_keys: Index_user
key: Index_user
key_len: 45
ref: const,const
rows: 1
filtered: 100.00
Extra: NULL
第三种
mysql> explain SELECT * FROM `user` where age=18 \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: user
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 3
filtered: 33.33
Extra: Using where
1 row in set, 1 warning (0.00 sec)
第四种
mysql> explain SELECT * FROM `user` where name="tom" and age=18 \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: user
partitions: NULL
type: ref
possible_keys: Index_user
key: Index_user
key_len: 45
ref: const,const
rows: 1
filtered: 100.00
Extra: NULL
1 row in set, 1 warning (0.00 sec)
上述就是小编为大家分享的mysql中怎么实现索引最左原则了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。