临时表参数优化tmp_table_size : 内存中的临时表如果超过该值,则自动转为硬盘临时表,该值取和max_heap_table_size两个值中最小的一个,
查看硬盘临时表:
show global status like 'created_tmp%'
show variables where Variable_name in ('tmp_table_size','max_heap_table_size') ;
设置该值:
--256M
set global max_heap_table_size=268435456 ;
--512M
set global tmp_table_size=536870912 ;
note:取最小的值(256M) ,内存中最大存放256M的临时表
key_buffer_size执行mysqladmin extended-status查看
Key_read_requests | 26959 |
Key_reads | 628 |
Key_reads/Key_reads_requests比值为1/100比较好.1/1000会更好.1/10性能就比较差.此时可加大.key_buffer_size大小.
sort_buffer_sizesort_buffer_size值的大小.取决于Sort_merge_passes值的大小.系统不忙时为0.若是大于1K 以上.适当加大sort_buffer_size值
thread_concurrency设置thread_concurrency的 值的正确与否, 对mysql的性能影响很大, 在多个cpu(或多核)的情况下,错误设置了thread_concurrency的 值, 会导致mysql不能充分利用多cpu(或多核), 出现同一时刻只能一个cpu(或核)在工作的情况。
thread_concurrency应设为CPU核数的2倍. 比如有一个双核的CPU, 那么thread_concurrency的应该为4; 2个双核的cpu, thread_concurrency的 值应为8.
评论