Mysql Innodb 引擎优化[MySQL防范]
本文“Mysql Innodb 引擎优化[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
MySQL Innodb 引擎优化,InnoDB给MySQL供应了具有提交,回滚和崩溃恢复本领的事件安全(ACID兼容)存储引擎.InnoDB锁定在行级并且也在SELECT语句 供应一个Oracle气势一致的非锁定读.这些特点增添了多用户布置和性能.没有在InnoDB中扩大锁定的需求,因为在InnoDB中行级锁定合适非常 小的空间.InnoDB也支持FOREIGN KEY强迫.在SQL查询中,你可以安闲地将InnoDB范例的表与别的MySQL的表的范例混合起来,乃至在同一个查询中也可以混合.
Innodb 的创始人:Heikki Tuuri
Heikki Tuuri在Innodb的Bug社区里也是很活泼的,假如碰到Bug也可以直接提到社区,得到作者的解答.
为什么要学习Innodb的调优:
目前来说:InnoDB是为Mysql处理宏大数据量时的最大性能计划.它的CPU效率大概是任何别的基于磁盘的关系数据库引擎所不能匹敌的.在数据量大的网站或是利用中Innodb是倍受爱好的.
另一方面,在数据库的复制操作中Innodb也是能保证master和slave数据一致有一定的作用.
参数调优内容:
1. 内存操纵方面
2. 日记掌握方面
3.文件IO分配,空间占用方面
4. 别的相关参数
1.内存操纵方面:
首先介绍一个Innodb最重要的参数:
innodb_buffer_pool_size
这个参数和MyISAM的key_buffer_size有类似之处,但也是有差别的.这个参数主要缓存innodb表的索引,数据,插入数据时的缓冲.为Innodb加快优化主要参数.
该参数分配内存的原则:这个参数默许分配只有8M,可以说是非常小的一个值.假如是一个专用DB服务器,那么他可以占到内存的70%-80%.这个参 数不能动态更改,所以分配需多考虑.分配过大,会使Swap占用过量,导致Mysql的查询特慢.假如你的数据对比小,那么可分配是你的数据大小+10% 左右做为这个参数的值.比方:数据大小为50M,那么给这个值分配innodb_buffer_pool_size=64M
设置办法:
innodb_buffer_pool_size=4G
这个参数分配值的利用情形可以按照show innodb status\G;中的
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 4668764894;
去确认利用情形.
第二个:
innodb_additional_mem_pool:
作用:用来存放Innodb的内部目录
这个值不用分配太大,系统可以自动调.不用设置太高.普通对比大数据设置16M够用了,假如表对比多,可以得当的增大.假如这个值自动增添,会在error log有中显示的.
分配原则:
用show innodb status\G;去查看运行中的DB是什么状况(参考BUFFER POOL AND MEMORY段中),然后可以调整到得当的值.
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 4668764894; in additional pool allocated 16777216
参考:in additional pool allocated 16777216
以上是“Mysql Innodb 引擎优化[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |