我正在使用MySQL Administrator工具来监控MySQL服务器的运行状况。每当我运行一个冗长的JOIN查询时,我就会意识到关键效率图表总是高达100%。我做了一些阅读,发现密钥效率越高,意味着索引缓存被充分利用。
问题是当Key Efficiency达到100%时,我的其他查询运行速度很慢或者似乎根本无法运行。
这些是我的缓冲设置。我主要使用InnoDB。 MySQL版本5.0.77。
| bdb_log_buffer_size | 262144 | | bulk_insert_buffer_size | 8388608 | | innodb_buffer_pool_awe_mem_mb | 0 | | innodb_buffer_pool_size | 1073741824 | | innodb_log_buffer_size | 1048576 | | join_buffer_size | 20971520 | | key_buffer_size | 1073741824 | | myisam_sort_buffer_size | 33554432 | | net_buffer_length | 16384 | | preload_buffer_size | 32768 | | read_buffer_size | 20971520 | | read_rnd_buffer_size | 4194304 | | sort_buffer_size | 20971520 |
答案 0 :(得分:0)
这个建议也会有帮助。
删除以下列表,以便DEFAULTS可以支持my.cnf / .ini的[mysqld]部分的工作
SCNView
SCNNode
SCNPlane
sort_buffer_size
改善(减少)响应时间。
为什么在DEFULT为128K的情况下获取所需数据时,有意读取20M的read_buffer_size数据?