如何在MySQL中使用性能统计数据?

时间:2014-05-18 15:11:48

标签: mysql mysql-workbench

我有一个复杂的查询在我的笔记本电脑上以秒的时间执行,而同一查询在我的生产服务器上在相同模式下无负载下需要70秒。

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。

3 个答案:

答案 0 :(得分:1)

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

enter image description here

答案 1 :(得分:1)

来自MySQL Workbench Team博客:

目前,只支持MySQL 5.6和5.7,因为MySQL 5.5中的performance_schema仍然缺乏成熟度,并且还没有提供足够的信息以便非常有用。

请参阅:http://mysqlworkbench.org/2014/03/mysql-workbench-6-1-performance-schema-reports/

答案 2 :(得分: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'"