内存管理及优化
内存是影响数据库性能的主要资源,也是
性能优化的一个重要方面;
内存优化的原则
将尽量多的内存分配给
做缓存,但是要给操作系统和其他程序的运行预留足够的内
存,否则产生
页交换,将严重影响系统性能;
的数据文件读取以来操作系统自身的
缓存,如果有
的表,就要预留更多
的内存给操作系统做
缓存;
排序区,连接区等缓存是分配给每个数据库会话
专用的,默认值的设置要根据最大
的连接数据合理分配,如果设置的太大,不但浪费内存资源,在并发比较高的时候会导致
物理内存耗尽;
内存优化
存储引擎使用
缓存索引块,以加速
索引的读写速度。
表的数据库,
没有特别的索引机制,完全依赖系统的
缓存。
设置
决定
索引缓存区的大小;一般可以内存的
!
用多个索引缓存
"
整 中点插入策略
整
#
和
##
#
的内存优化
#
的缓存机制
#
用以块内存做
缓存池,该缓存池不仅用来缓存
#
的索引,而且也用来缓存
#
的数据块;
与
是不同的;
#
的缓存机制
#
的设置
#
决定
$%
存储引擎表数据和索引数据的最大缓存区的大小;
与
&
的缓存机制很类似。
缓存区越大,缓存的命中率越高,需要的磁盘
'
越少,性能越高。
在一个专用的数据库服务器上,可以将
()*
的物理内存分配给
#
,但是一
定要注意设置过大导致页交换,系统或其他的程序可以内存不足;
调整
#+
大小
#+
的比例有
##&&+
决定,默认是
",
;
在没有比较大的表扫描或索引扫描的情况下,如果
-
的值很低,可能需要适当的增大
##&&+
的值,或者减少
##&.
的值。
调整
##&.
的设置;
评论