本文共 842 字,大约阅读时间需要 2 分钟。
在优化MySQL性能时,合理分配内存是关键。以下是一些重要的原则:
MyISAM存储引擎使用key_buffer缓存索引块,以加速索引读写速度。其数据块则完全依赖于操作系统的IO缓存。
key_buffer_size决定MyISAM索引块缓存区的大小,直接影响查询效率。建议至少分配MySQL 1/4的可用内存给key_buffer_size。
key_buffer_size=512M
对于频繁进行顺序扫描的MyISAM表,可以通过增大read_buffer_size来改善性能。但需注意,每个session独占该值,设置过大会浪费内存。
对于带有ORDER BY子句的排序查询,可以适当增加read_rnd_buffer_size以提升性能。但同样需注意,每个session独占该值,设置过大会导致内存浪费。
InnoDB使用内存缓存池来缓存索引和数据块,最大缓存池大小由innodb_buffer_pool_size决定。值越大,缓存命中率越高,磁盘I/O消耗越少,性能越佳。
innodb_buffer_pool_size=512M
决定InnoDB重做日志缓存大小。对于大事务数据库,可以增大innodb_log_buffer_size以减少事务提交时的磁盘写入。
innodb_log_buffer_size=10M
转载地址:http://qhdfk.baihongyu.com/