mysql内存使用分析(一)(2)
来源:未知 责任编辑:责任编辑 发表时间:2014-05-26 11:02 点击:次
提交的数据放如一个缓存空间中,当该缓存空间被写满或者提交完所有数据之后,MySQL 才会
一次性将该缓存空间中的数据写入数据库并清空缓存。此外,当我们进行LOAD DATA INFILE
操作来将文本文件中的数据Load 进数据库的时候,同样会使用到此缓冲区。
临时表使用内存(tmp_table_size):
当我们进行一些特殊操作如需要使用临时表才能完成的Order By,Group By 等等,MySQL
可能需要使用到临时表。当我们的临时表较小(小于tmp_table_size 参数所设置的大小)
的时候,MySQL 会将临时表创建成内存临时表,只有当tmp_table_size 所设置的大小无法
装下整个临时表的时候,MySQL 才会将该表创建成MyISAM 存储引擎的表存放在磁盘上。
不过,当另一个系统参数max_heap_table_size 的大小还小于tmp_table_size 的时候,
MySQL 将使用max_heap_table_size 参数所设置大小作为最大的内存临时表大小,而忽略
tmp_table_size 所设置的值。而且tmp_table_size 参数从MySQL 5.1.2 才开始有,之
前一直使用max_heap_table_size。
上面所列举的MySQL 线程独享内存仅仅只是所有线程独享内存中的部分,并不是全部,
只是这些可能对MySQL 的性能产生较大的影响,且可以通过系统参数进行调节。
由于以上内存都是线程独享,极端情况下的内存总体使用量将是所有连接线程的总倍数。
所以在设置过程中一定要谨慎,切不可为了提升性能就盲目的增大各参数值,避免因为
内存不够而产生Out Of Memory 异常或者是严重的Swap 交换反而降低整体性能。
-----end-----
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>