Có thể có bất kỳ lỗi cấu hình nào dẫn đến việc tạo quá nhiều bảng tạm thời bằng bộ điều chỉnh mysql..mysql không
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%
Bảng tạm thời trước đó là "trong số 23725 bảng tạm thời 38% đã được tạo trên đĩa" nhưng tôi đã thay đổi max_heap và tmp_table thành 200m từ 16m và nó giảm xuống 30% ..
Cấu hình:
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
Một hệ thống khác có cấu hình mặc định đang hiển thị "trong số 23725 bảng tạm thời, 1% được tạo trên đĩa" với cùng một cơ sở dữ liệu.
Tôi đã thử thay đổi mặc định trên máy với vấn đề này và nó vẫn hiển thị "Trong số 580 bảng tạm thời, 16% đã được tạo trên đĩa".
Tôi đang sử dụng Ubuntu 11.4 64 bit với ram 48 gb. Có ai có thể đề xuất một giải pháp?
Việc thay đổi công cụ db từ "myisam" thành "bộ nhớ" trên các bảng bằng cách sử dụng "nhóm bằng" sẽ khắc phục điều này? Như đã giải thích ở đây: http://www.mysqlperformanceblog.com/2007/08/16/how-much-overhead-is-caused-by-on-disk-t tạm-tests /
tmp_table_size
hoặcmax_heap_table_size