1、参数调优
mysql会在内存保存一定量的数据,然后根据Lru算法来把内存中的数据保存在磁盘上,所以尽量让mysql走内存中的数据.
show GLOBAL status like 'innodb_buffer_pool_pages%';
扩大innodb_buffer_pool_size 理论上可以扩大到内存的3/4或4/5,前提使在机器只部署Mysql情况下。
2、数据预热
第一次读取数据都是从磁盘到内存中,所以往往第一次读取很慢。
解决利用数据预热脚本。
3、降低磁盘写入次数
增大redo_log,减少io磁盘交互。 innodb_log_file_size设置为0.25*innodb_buffer_pool_size
写 redolog策略 innodb_flush_log_at_trx_commit设置为0或2,来减少io磁盘 *** 作。
5、表结构设计优化
列宽尽量小,尽量not null,尽量使用数字类型。
6、sql索引优化
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)