博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录mysql性能查询过程
阅读量:7139 次
发布时间:2019-06-28

本文共 1289 字,大约阅读时间需要 4 分钟。

一切源于一个实验,请看下面的例子:

表:

CREATE TABLE IF NOT EXISTS `foo` (`a` int(10) unsigned NOT NULL AUTO_INCREMENT,`b` int(10) unsigned NOT NULL,`c` varchar(100) NOT NULL,PRIMARY KEY (`a`),KEY `bar` (`b`,`a`)) ENGINE=InnoDB;CREATE TABLE IF NOT EXISTS `foo2` (`a` int(10) unsigned NOT NULL AUTO_INCREMENT,`b` int(10) unsigned NOT NULL,`c` varchar(100) NOT NULL,PRIMARY KEY (`a`),KEY `bar` (`b`,`a`)) ENGINE=MyISAM;

我往两个表中插入了30w的数据(插入的时候性能差别InnoDB比MyISAM慢)

返回结果:

一次查询就会差别这么多!!InnoDB和MyISAM,赶紧分析分析为什么。

首先是使用explain来进行查看

确定两边都没有使用index,第二个查询查的rows,并且MyISAM的查询rows还比InnoDB少这么多,反而是查询慢于InnoDB!!这Y的有点奇怪。

 

没事,还有一个牛掰工具profile

具体使用可以参考:

使用方法简单来说:

Mysql > set profiling = 1;Mysql>show profiles;Mysql>show profile for query 1;

 

这个数据中就可以看到MyISAM的Sending data比InnoDB的Sending data费时太多了。查看mysql文档

 

Sending data

The thread is reading and processing rows for a SELECT statement, and sending data to the client. Because operations occurring during this this state tend to perform large amounts of disk access (reads), it is often the longest-running state over the lifetime of a given query.

 

Sending data是去磁盘中读取select的结果,然后将结果返回给客户端。这个过程会有大量的IO操作。你可以使用show profile cpu for query XX;来进行查看,发现MyISAM的CPU_system比InnnoDB大很多。至此可以得出结论是MyISAM进行表查询(区别仅仅使用索引就可以完成的查询)比InnoDB慢。

 

至于再往下的为什么,我想就需要看源码了..于是,就此打住。

 

附带一篇文章,里面还有status的用法

 

参考文章:

转载地址:http://iplrl.baihongyu.com/

你可能感兴趣的文章
SAP增强的PA教材内容
查看>>
jQuery系列 第八章 jQuery框架Ajax模块
查看>>
OpenCV中原始图像加载与保存压缩技巧
查看>>
MySQL 8复制性能的增强
查看>>
C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码
查看>>
Java 模拟基于UDP的Socket通信
查看>>
我要做 Android 之Fragment
查看>>
有关 Windows Lite 的一切,只为对抗 Chrome OS?
查看>>
Android 自定义控件之SlidingMenuVertical顶部悬浮(垂直折叠抽屉,有滑动渐变回调,可自行添加渐变动画)...
查看>>
NG-ZORRO 7.0.1 发布,Ant Design 的 Angular 实现
查看>>
Django 2.0 model on_delete错误小记
查看>>
ffmpeg中的sws_scale算法性能测试
查看>>
新浪微博技术分享:微博实时直播答题的百万高并发架构实践
查看>>
Queue 队列
查看>>
Confluence 6 升级 Confluence 使用数据源
查看>>
数据库中过滤数据与在内存中过滤数据(延迟加载)
查看>>
第十六章:SpringCloud Config 配置自动刷新
查看>>
Groovy 处理JSON
查看>>
[雪峰磁针石博客]2018软件测试标准汇总下载
查看>>
JEESZ分布式框架简介
查看>>