2014-05-18 94 views
1

我有一个复杂的查询在我的笔记本电脑中以秒为单位时间执行,而相同的查询在相同模式下没有负载的情况下在我的生产服务器上需要70秒。如何获得性能统计信息以在MySQL中工作?

EXPLAIN计划与足够相似,不足以保证执行时间的大幅增加,并且在每个步骤返回的行数相同。

此查询结果仅对查询数据库有用,所以它不是没有分析表统计数据的结果。

我安装了MySQL Workbench,这似乎是一个非常好的工具,特别是考虑到它是免费的。不过,也有在浏览器界面我的连接两个部分,是完全变灰:

INSTANCE 
    Startup/Shutdown 
    Server Logs 
    Options File 

PERFORMANCE 
    Dashboard 
    Performance Reports 
    Performance Schema Setup 

我做了以下行添加到我的/etc/my.cnf文件并重新启动我的服务器:

[mysqld] 
performance_schema 

我按照MySQL Performance Schema Quick Start Guide中的说明进行操作,并验证确实已启用此功能。

我昨晚拉开序幕工作,以收集了一些统计数据,但今天上午只发现:

Performance_schema_files_instances_lost 89804 

,而所有其他performance_schema - 相关变量是零。

错误日志是空白的,所以我很想知道如何使这项工作。

我正在运行MySQL 5.5.21。

回答

1

在MySQL Workbench中打开与服务器的连接,并在管理侧栏中查找Performance Schema Setup

enter image description here

+0

迈克你好。就是这样,我看到选项,但是它变灰了。这是Mac OSX上的Workbench 6.1.6.xxxx。 – AKWF

1

不仅如此,你需要有MySQL服务器5.6或5.7,但你也需要一些performace_schema启用,并安装一个sys方案。

在我的CentOS的机器,我不得不跑:

mysql_upgrade # This enabled performace_schema 
service mysql restart 

yum install git 
git clone https://github.com/mysql/mysql-sys.git 
cd mysql-sys/ 
mysql < ./sys_56.sql # This created sys schema and views 

你应该看到过80次:

mysql -e "show full tables from sys where Table_type='VIEW'" 
+0

这对我来说,运行码头集装箱。通过https://github.com/docker-library/mysql/issues/368报告 –