可以通过
mysql..
mysql调优器显示任何配置错误导致创建太多的临时表
Current max_heap_table_size = 200 M
Current tmp_table_size = 200 M
Of 17158 temp tables, 30% were created on disk
table_open_cache = 125 tables
table_definition_cache = 256 tables
You have a total of 97 tables
You have 125 open tables.
Current table_cache hit rate is 3%
早期临时表是23725个临时表,38%是在磁盘上创建的,但我将max_heap和tmp_table从16m更改为200m并降低到30%.
engine myisam
group_concat_max_len = 32768
key_buffer_size = 3.7 GB,
thread_stack = 256k,
table_cache = 125
query_cache_limit = 1M
query_cache_size = 16M
join_buffer_size = 2.00 M
max_connections = 800
显示另一个具有默认配置的系统
在23725个临时表中,1%是在磁盘上创建的
但我尝试使用此问题更改为机器上的默认值,它仍然显示580个临时表,16%是在磁盘上创建的
我正在使用Ubuntu 11.4 64位和48 GB RAM …任何人都可以提出解决方案吗?
是否会使用“group by”将数据库引擎从myisam更改为内存中的内存?