视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MysqlInnodb引擎优化(参数篇)_MySQL
2020-11-09 17:29:20 责编:小采
文档


  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=M

  设置方法:

  innodb_buffer_pool_size=4G

  这个参数分配值的使用情况可以根据show innodb status/G;中的

  ----------------------

  BUFFER POOL AND MEMORY

  ----------------------

  Total memory allocated 466874;

  去确认使用情况。

  第二个:

  innodb_additional_mem_pool:

  作用:用来存放Innodb的内部目录

  这个值不用分配太大,系统可以自动调。不用设置太高。通常比较大数据设置16M够用了,如果表比较多,可以适当的增大。如果这个值自动增加,会在error log有中显示的。

  分配原则:

  用show innodb status/G;去查看运行中的DB是什么状态(参考BUFFER POOL AND MEMORY段中),然后可以调整到适当的值。

  ----------------------

  BUFFER POOL AND MEMORY

  ----------------------

  Total memory allocated 466874; in additional pool allocated 16777216

  参考:in additional pool allocated 16777216

  根据你的参数情况,可以适当的调整。

  设置方法:

  innodb_additional_mem_pool=16M

下载本文
显示全文
专题