+ -
当前位置:首页 → 问答吧 → mysql 新生产环境select超级慢,何解?

mysql 新生产环境select超级慢,何解?

时间:2011-08-04

来源:互联网

环境

CPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
内存: 6G
硬盘: 250G
磁盘转速 7000-10000

innodb缓存参数都调整为1G了,如下:
show variables like 'innodb_buffer_pool_size';
select 1073741824/1024/1024; -- 1024

所有的业务表都是innodb存储引擎,但是查询一张5000条数据量的单表,select * 一把所有数据要5秒时间,这是为什么?而在旧的配置低许多的开发库上只需要0.1s而已。
但是select count(*) from fdp.company_lang ; 出来只需要0.1秒就出现了。

是不是还有别的参数或者别的原因呢?


SHOW PROFILES; 结果如下:

'1', '0.00040600', 'SHOW SESSION VARIABLES LIKE ''sql_mode'''
'2', '0.00018500', 'SELECT @@profiling
LIMIT 0, 1000'
'3', '0.00035200', 'SHOW SESSION VARIABLES LIKE ''sql_mode'''
'4', '41.23405000', 'select * from fdp.company_lang limit 10000'
'5', '0.00042800', 'SHOW SESSION VARIABLES LIKE ''sql_mode'''

那条sql语句查询记录总数为3200条,怎么要41秒时间啊?my god!

mysql workbench客户端工具显示如下:
Duration / Fetch: 0.516 sec / 33.953 sec

作者: mysqldbd   发布时间: 2011-08-04

若是5.1系列,使用profiling看下各个步骤花费多长时间,就知道问题出现在那,毕竟你的SQL简单,可能是从磁盘上读数据,没有缓存到内存中

当然也看你的是myisam还是innodb引擎,自己去分析下

作者: jinguanding   发布时间: 2011-08-04