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 %가 디스크에서 생성되었습니다"라는 메시지가 표시됩니다.
48GB 램과 함께 Ubuntu 11.4 64 비트를 사용하고 있습니다. 아무도 해결책을 제안 할 수 있습니까?
"group by"를 사용하여 테이블에서 DB 엔진을 "myisam"에서 "memory"로 변경하면이 문제가 해결됩니까? 여기에 설명 된대로 : http://www.mysqlperformanceblog.com/2007/08/16/how-much-overhead-is-caused-by-on-disk-temporary-tables/
tmp_table_size
또는max_heap_table_size