当前位置:  数据库>mysql

mysql5.6.19下子查询为什么无法使用索引

    来源: 互联网  发布时间:2014-10-17

    本文导语:  表结构很简单 CREATE TABLE `oplogs` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `kind` varchar(45) NOT NULL DEFAULT '', `op` varchar(100) NOT NULL, `user` varchar(25) NOT NULL DEFAULT '', `ip` varchar(16) NOT NULL DEFAULT '', `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMES...

表结构很简单

CREATE TABLE `oplogs` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`kind` varchar(45) NOT NULL DEFAULT '',
`op` varchar(100) NOT NULL,
`user` varchar(25) NOT NULL DEFAULT '',
`ip` varchar(16) NOT NULL DEFAULT '',
`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=34896 DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED

结果有34895条

sql查询语句为:

SELECT a.id,a.kind,a.op,a.user,a.ip,a.updatetime FROM oplogs as a inner join(select id from oplogs where 1 order by id desc limit 0,20) as b using(id)

在5.6.19情况下

用php读取内容并显示

首次显示结果需要3.5秒

但是同样的配置

在linux 下 5.5.38下

只需要0.7秒左右

很奇怪的情况

然后在5.6下执行了explain 结果如下:

而同样的数据 explain 结构如下:

比较结果很明显 主要在于对oplogs进行排序时,rows行变化太大了,一个进行了完整的遍历,第一个使用了索引,造成差距过大,不过原因尚未找到,有哪位知道呢?


    
 
 

您可能感兴趣的文章:

 
本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.169IT.COM)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql4 与 mysql5 ,我该选择谁?
  • red hat 运行 mysql5.1 出现奇怪提示
  • fc5 下安装mysql5,出错
  • solaris 10 for x86上如何安装mysql5?
  • CentOS5.5安装mysql5.5.18后,没有user数据库
  • 解决mysql5中文乱码问题的方法
  • Ubuntu11.04下安装Mysql5.5失败,求大神指教
  • RedHat Linux上安装好mysql5.0后 一启动就报错
  • 非常急的问题,请问哪位大侠在redhat9下安装配置过mysql5+apache2+php5啊?????
  • MySQL5创建存储过程的示例
  • 下面是mysql5.0源代码中嵌入的一条汇编语句,哪位老大能给解释一下?
  • mysql4.0升级到mysql5(4.1),解决字符集问题
  • 修改mysql5.5默认编码(图文步骤修改为utf-8编码)
  • 安装Mysql5.1.7.server.rpm时提示的错误,请高手帮忙
  • linux下安装两个mysql问题 msql4.0和mysql5.0
  • MYSQL5 masterslave数据同步配置方法第1/3页
  • mysql5.0入侵测试以及防范方法分享
  • Mysql5 字符集编码问题解决
  • mysql5.5 master-slave(Replication)主从配置
  • mysql5.5与mysq 5.6中禁用innodb引擎的方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号