我有一个复杂的查询在我的笔记本电脑上以秒的时间执行,而同一查询在我的生产服务器上在相同模式下无负载下需要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。
答案 0 :(得分:1)
在MySQL Workbench中打开与服务器的连接,并在管理侧栏中查找 Performance Schema Setup
。
答案 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'"