您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MySQL高级十六——内存优化

2024/4/10 18:58:52发布11次查看
一、myisam内存优化
myisam存储引擎使用key_buffer缓存索引模块,加速索引的读写速度。对于myisam表的数据块,mysql没有特别的缓存机制,完全依赖于操作系统的io缓存。
1、key_buffer_size设置
key_buffer_size决定myisam索引块缓存分区的大小。直接影响到myisam表的存取效率。对于一般myisam数据库,建议1/4可用内存分配给key_buffer_size:
key_buffer_size=2g
2、read_buffer_size
如果需要经常顺序扫描myisam表,可以通过增大read_buffer_size的值来改善性能。但需要注意的是read_buffer_size是每个seesion独占的,如果默认值设置太大,就会造成内存浪费。
3、read_rnd_buffer_size
对于需要做排序的myisam表查询,如带有order by子句的sql,适当增加read_rnd_buffer_size的值,可以改善此类的sql性能。但需要注意的是read_rnd_buffer_size独占的,如果默认设置值太大,就会造成内存浪费。
二、innodb内存优化
innodb用一块内存区域做i/o缓存池,该缓存池不仅用来缓存innodb的索引块,而且也用来缓存innodb的数据块。
1、设置innodb_buffer_pool_size
改变量决定了innodb存储引擎表数据和索引数据的最大缓存区大小。
2、innodb_log_buffer_size
决定了innodb重做日志缓存的大小,可以避免innodb在事务提交前就执行不必要的日志写入磁盘操作。
三、调整mysql参数并发相关的参数
1、调整max_connections
提高并发连接
2、调整thread_cache_size
加快连接数据库的速度,mysql会缓存一定数量的客户服务线程以备重用,通过参数thread_cache_size可控制mysql缓存客户端线程的数量。
3、innodb_lock_wait_timeout
控制innodb事务等待行锁的时间,对于快速处理的sql语句,可以将行锁等待超时时间调大,以避免发生大的回滚操作。
注意:以上都是在mysql目录下的my.ini文件中改写。
 以上就是mysql高级十六——内存优化的内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product