千家信息网

Mysql索引怎么用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"Mysql索引怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Mysql索引怎么用"这篇文章吧。select .... fr
千家信息网最后更新 2026年11月01日Mysql索引怎么用

这篇文章主要为大家展示了"Mysql索引怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Mysql索引怎么用"这篇文章吧。

select .... from table where key_part1='xxx' and key_part3='yyy';
在这种情况下,MYSQL只能在索引里处理掉key_par1,而不过在索引里过滤 key_part3的条件,除非 select 后面是 count(*) ;

这是上次测试时的表结构:
CREATE TABLE `im_message_201005_21_old` (
`msg_id` bigint(20) NOT NULL default '0',
`time` datetime NOT NULL,
`owner` varchar(64) NOT NULL,
`other` varchar(64) NOT NULL,
`content` varchar(8000) default NULL,
PRIMARY KEY (`msg_id`),
KEY `im_msg_own_oth_tim_ind` (`owner`,`other`,`time`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;

这次我们要测试的是,先有范围字段的条件,MYSQL是不是能正确使用索引有效地过滤无效数据;
首先我们把索引的顺序调整一下:KEY `im_msg_own_tim_oth_ind` (`owner`,`time`,`other`)

我们要测试的是当where 条件是: owner+time+other 时, 索引的工作情况如何?
(大家不如先根据自己的知识下个定论?)

我觉得大部分同学认为,字段都一样,索引应该是能正常工作的。 实际是不然。

这个测试关键是想看看, 当查询条件是 owner+time+other 时 , mysql 能不能在回表前,把other字段进行过滤;
如果不能过滤,他将与条件是 owner+time 时,产生的性能(逻辑读)是差不多的;


select count(distinct content ) from im_message_201005_21_old
where owner = 'cntaobaoytazy' and time >= '2010-05-23 17:14:23' and time <= '2010-05-30 17:14:23' ;
# 结果: 4712行
# 产生逻辑读:27625

select count(distinct content ) from im_message_201005_21_old
where owner = 'cntaobaoytazy' and time >= '2010-05-23 17:14:23' and time <= '2010-05-30 17:14:23'
and other = 'cnalichnahappycow' ;
# 结果:0行
# 产生逻辑读:25516


select count(* ) from im_message_201005_21_old
where owner = 'cntaobaoytazy' and time >= '2010-05-23 17:14:23' and time <= '2010-05-30 17:14:23' ;
# 结果: 4712
# 产生逻辑读: 966

select count(* ) from im_message_201005_21_old
where owner = 'cntaobaoytazy' and time >= '2010-05-23 17:14:23' and time <= '2010-05-30 17:14:23'
and other = 'cnalichnahappycow' ;
# 结果:0
# 产生逻辑读: 966


从中我们发现 ,count(*)这种情况,只需要通过索引去过滤,不需要回表,逻辑读966; 这是比较合理的值;
而第二个语句,虽然返回结果是0行,但使用了与第一个语句相当的逻辑读 ; 显然,MYSQL没有合理使用索引 ;

以上是"Mysql索引怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

索引 逻辑 条件 结果 测试 内容 字段 情况 篇文章 知识 语句 这是 学习 工作 帮助 有效 差不多 从中 关键 同学 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 互联网科技企业 互联网佳科技有限公司 互联网和科技创新 金融科技创新监管互联网金融 奇酷互联网络科技 齐家互联网科技有限公司 深圳前海聚择互联网科技有限公司 字节跳动和互联网科技 汽车互联网创新科技园 佳云科技和互联网广告 重庆互联网医院沙龙医盟信息科技 移动互联网年度科技创新 健康食品互联网创新科技园项目 深圳市罗太互联网科技有限公司 晋城互联网科技 南博望互联网科技有限公司 互联网方面的科技前沿 美国五大互联网科技公司市值多少 长沙易易互联网科技有限公司 手冲咖啡和咖啡机区别 互联网金融科技 湖南永感互联网科技有限公司 善班互联网科技 广西互联网科技公司 人人互联网科技是培训 互联网科技产业特征 上海钢联属于互联网科技股吗 江苏互联网智能科技软件 互联网科技企业商标注意事项
0