百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql Copying to tmp table on disk 影响性能
分享文章到:

mysql Copying to tmp table on disk 影响性能

发布时间:01/15 来源: 浏览: 关键词:
在使用mysql是突然发现提醒mysql Copying to tmp table on disk 错误了,下面我们来看看此问题的解决办法。

经过查资料发现mysql可以通过变量tmp_table_size和max_heap_table_size来控制内存表大小上限,如果超过上限会将数据写到磁盘上,从而会有物理磁盘的读写操作,导致影响性能。
我们可以通过调整这两个变量的值来提升性能(当然前提条件是mysql所在服务器有足够的内存)。
首先可以通过下面语句查看当前的变量值:
SHOW VARIABLES LIKE ‘max_heap_table_size%’;
然后通过SET GLOBAL max_heap_table_size=522715200; 设置变量值为512M,你可以根据自己的情况设置合适的值;tmp_table_size变量的设置方法一样。
SHOW VARIABLES LIKE ‘tmp_table_size’;
SET GLOBAL max_heap_table_size=512*1024*1024;
其次发现开发人员编写的语句,根本无法使用到缓存。
# Time: 140901 16:26:23
# User@Host: wealth[wealth] @ [172.20.1.70]
# Query_time: 2266.887211 Lock_time: 0.000196 Rows_sent: 17 Rows_examined: 71501657
SET timestamp=1409559983;
SELECT a.Pid,count(a.id) as count,p.ProductId,p.ProductName,p.ProductType,p.Profit,p.StartTime,p.EndTime,p.StartMoney,p.AddTime,i.IssuerName FROM `Issuer`as i,`Count` as a left join Product as p on a.Pid=p.ProductId WHERE a.Stime > ‘time() – 3600*24*30′ and p.IssuerId=i.IssuerId AND p.IsDel=0 group by a.Pid order by count(a.id) desc limit 0,17;
哎~~没办法,这个sql优化是个长期的过程

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有4人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板