我正在努力提高我们的主MySQL服务器的性能。这是一个双四核英特尔X5450,有8GB内存。这是一个专用的MySQL盒。我只是刚开始配置它,所以我开始比较新鲜了。
我注意到Created_tmp_disk_tables太高了,高达330 K。Created_tmp_tables只有380 K。这可能不算太糟,只是MySQL在不到4个小时前就重新启动了。
我已经设置了以下内容:
15:31:15 (9) > show global variables like '%table_size%';
+---------------------+------------+
| Variable_name | Value |
+---------------------+------------+
| max_heap_table_size | 1073741824 |
| tmp_table_size | 1073741824 |
+---------------------+------------+此页建议,这两个值中较小的值决定了临时表何时变为基于磁盘的表。我个人认为,1GB的容量足以处理我们正在创建的任何大小的临时表,但显然,我是不正确的。
有人能建议其他方法来减少基于磁盘的临时表的数量吗?
发布于 2010-03-10 20:39:11
如果临时表被过度使用,我的第一个想法是使用数据库的应用程序需要查询优化。
https://serverfault.com/questions/121266
复制相似问题