繁体   English   中英

mysql创建临时表很慢

[英]mysql creation of temp table very slow

我在2个不同的系统中使用mysql。 我有一个使用ubuntu的系统,另一个使用了debian。

为了显示数据,我必须在某个时候创建​​一个临时表,真正奇怪的是,在ubuntu系统上,它需要400毫秒(来自浏览器的响应),而在debian上则需要10秒钟以上!

我已经检查了mysql配置中的2个值,并且有:显示全局变量,如“ tmp_table_size”; 两台服务器上的相同:16777216

但是区别是:显示全局状态,例如“ created_tmp_disk_tables”; 在快速服务器上为11,在慢速服务器上为102。

我真的不知道该在哪里寻找其他内容以及如何对其进行优化,以便两台服务器上都具有相同的外观。

当然,我的生产服务器在debian上。

快速服务器正在运行:mysql版本5.7.18-0ubuntu0.16.04.1慢速服务器正在运行:mysql版本5.5.55-0 + deb8u1

在快速服务器上,我有:

show global variables like 'default_tmp_storage_engine';
+----------------------------+--------+
| Variable_name              | Value  |
+----------------------------+--------+
| default_tmp_storage_engine | InnoDB |
+----------------------------+--------+
1 row in set (0.00 sec)

在速度较慢的服务器上,我有:

show global variables like 'default_tmp_storage_engine';
Empty set (0.00 sec)

建议为您的my.cnf-ini考虑

max_heap_table_size=16M  # and should always be same as tmp_table_size

显示全局变量,例如'%tmp_table_size'可以在每个版本上使用,以查看此时的内容。

在5.5和5.7之间添加了全局变量default_tmp_storage_engine。

如需其他帮助,请在我的个人资料中找到联系信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM