千家信息网

mysql中怎么实现索引最左原则

发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,这期内容当中小编将会给大家带来有关mysql中怎么实现索引最左原则,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。建表CREATE TABLE `user` ( `i
千家信息网最后更新 2024年11月13日mysql中怎么实现索引最左原则

这期内容当中小编将会给大家带来有关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: refpossible_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: refpossible_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: ALLpossible_keys: NULL   key: NULL  key_len: NULL   ref: NULL   rows: 3  filtered: 33.33  Extra: Using where1 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: refpossible_keys: Index_user   key: Index_user  key_len: 45   ref: const,const   rows: 1  filtered: 100.00  Extra: NULL1 row in set, 1 warning (0.00 sec)

上述就是小编为大家分享的mysql中怎么实现索引最左原则了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

0