MySQL查询优化——调整内部变量的详细解决方案
改变索引缓冲区的长度(key_buffer)
一般来说,变量控制缓冲区的长度是用于处理与索引表(读/写操作),MySQL手册指出变量可以不断增加确保索引表的性能最好,它是推荐使用的系统内存大小为25%该变量的值。这是一个MySQL最重要的配置变量。如果你在优化和提高系统性能感兴趣,你可以通过改变key_buffer_size变量的值。
更改表的长度(read_buffer_size)
当一个查询连续扫描一个表,MySQL分配一个内存缓冲区,它的read_buffer_size变量控制这个缓冲区的大小。如果你认为连续扫描速度太慢,你可以通过增加变量的值和内存缓冲区的大小增加的性能。
组开桌数的最大值(table_cache)
这个变量控制MySQL随时打开的表的最大数目,从而控制服务器响应输入请求的能力。它与max_connections变量密切相关,增加了table_cache值可以使MySQL更打开表,在max_connections值的增加可以增加连接数。当你收到大量来自不同数据库和表的要求,你可以考虑改变这个值的大小。
设置慢查询时间限制(long_query_time)
MySQL慢查询日志,自动记录所有查询中没有一个特定的时间范围内结束。这个日志跟踪低效率或行为不端的查询和寻找优化的对象是非常有用的,long_query_time变量控制在秒这个时间限制。
以上讨论和使用三种工具来分析和优化SQL查询,以提高您的应用程序性能!