暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySQL如何选择索引.docx
276
12页
9次
2021-11-11
免费下载
MySQL
如何选择索引
MySQL
中一是可个索。但
SQL
句的
主动指定使用哪个索引。也就是说,使用哪个索引是由
MySQL
来确定的。
知道碰到况,本来得很,却
MySQL
选错了索引,而导致执行速度变得很慢?
一个例子。
我们先建一个简单的表,表里有
a
b
两个字段,并分别建上索引:
CREATE TABLE `t` (
`id` int(11) NOT NULL,
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `a` (`a`),
KEY `b` (`b`)
) ENGINE=InnoDB
t
10
(1,1,1)
(2,2,2)
(3,3,3)
直到
(100000,100000,100000)
用存储过程来插入数据的:
delimiter ;;
create procedure idata()
begin
declare i int;
set i=1;
while(i<=100000)do
insert into t values(i, i, i);
set i=i+1;
end while;
end;;
delimiter ;
call idata();
接下来,分析一条
SQL
语句:
mysql> select * from t where a between 10000 and 20000;
你一定会说,这个语句还用分析吗,很简单呀,
a
上有索引,肯定是要使用索引
a
的。
你说得没错,图
1
显示的就是使用
explain
命令看到的这条语句的执行情况。
从图看上去,这条查询语句的执行也确实符合预期,
key
这个字段值是’
a’
,表示优化
器选择了索引
a
不过别急,这个案例不会这么简单。在我们已经准备好的包含
10
万行数据的表
我们再做如下操作。
of 12
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜