MySQL在使用innodb引擎的时候页大小默认是16K,这个大小对于很多应用来说太大了,很多在其他数据如ORACLE运行良好的应用迁移到innodb后发现IO压力偏大,MySQL本身没有提供修改页大小的参数,但是我们可以通过修改源码重新编译mysql来实现,下面来做个测试,做测试的数据库版本为mysql-5.5.25:

先查看当前的页大小:

mysql> SHOW GLOBAL STATUS like 'Innodb_page_size';

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| Innodb_page_size | 16384 |

+------------------+-------+

1 row in set (0.00 sec)

mysql>

可以看到默认情况下mysql的页大小为16k,下面修改页面大小相关的源码

vim /mysql-5.5.25/storage/innobase/include/univ.i

#define UNIV_WORD_ALIGNMENT     UNIV_WORD_SIZE

/*

DATABASE VERSION CONTROL

========================

*/

/* The 2-logarithm of UNIV_PAGE_SIZE: */

#define UNIV_PAGE_SIZE_SHIFT    14                           ------------这个变量是修改为13/* The universal page size of the database */

#define UNIV_PAGE_SIZE          (1 << UNIV_PAGE_SIZE_SHIFT)  --------这个变量就是Innodb页的大小,1左移13位刚好是8192。

修改完成后代码应该是:

#define UNIV_WORD_ALIGNMENT     UNIV_WORD_SIZE

/*

DATABASE VERSION CONTROL

========================

*/

/* The 2-logarithm of UNIV_PAGE_SIZE: */

#define UNIV_PAGE_SIZE_SHIFT    13

/* The universal page size of the database */

#define UNIV_PAGE_SIZE          (1 << UNIV_PAGE_SIZE_SHIFT)

对于mysql 5.1的版本代码和5.5的修改方式稍微不同,下面的5.1版本代码的修改方式:

/*

DATABASE VERSION CONTROL

========================

*/

/* The universal page size of the database */

#define UNIV_PAGE_SIZE          (2 * 8192) /* NOTE! Currently, this has to be a ------修改为(2*4096)

power of 2 */

/* The 2-logarithm of UNIV_PAGE_SIZE: */

#define UNIV_PAGE_SIZE_SHIFT 14   ------修改为13(该值是2的多少次方为UNIV_PAGE_SIZE)

/* Maximum number of parallel threads in a parallelized operation */

#define UNIV_MAX_PARALLELISM 32

修改红色部分即可,记住UNIV_PAGE_SIZE大小只能是2的次方,如8K,16K,32k,UNIV_PAGE_SIZE_SHIFT 该值是2的多少次方为UNIV_PAGE_SIZE。

修改完成保存退出然后重新编译安装Mysql数据库,过程就不写了。编译安装完成后再次查看页大小:

mysql>

mysql> SHOW GLOBAL STATUS like 'Innodb_page_size';

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| Innodb_page_size | 8192  |

+------------------+-------+

1 row in set (0.00 sec)

mysql>

可以看到页大小已经修改为8K。

mysql 默认page大小_Innodb优化之修改页大小相关推荐

  1. mysql 默认page大小_MySQL innodb_page_size

    原标题:MySQL innodb_page_size 墨墨导读:Page是MySQL Innodb存储的最基本结构,也是Innodb磁盘管理的最小单位,了解page的一些特性,可以更容易理解MySQL ...

  2. android 查看视频大小,android mediaplayer 视频修改视频大小 (屏幕尺寸mediaPlayer =......

    1 主要是通过更改view 的大小来改变视频的大小. 2 在视频初始化时获得视频的高宽都为0 ,这个必须要注意,必须播放后延时 修改view 大小 3 sufaceview 的布局类是 android ...

  3. 如何调整图片尺寸大小?电脑怎么修改照片大小?

    生活和工作时经常遇到图片尺寸大小不合适的情况,尤其是在上传时,需要改图片大小(https://www.yasuotu.com/size),那么如何修改照片大小呢?试试这款在线修改图片工具吧,快速修改图 ...

  4. 阿里云服务器mysql默认密码_阿里云服务器修改MySQL初始密码---Linux学习笔记

    主要方法就是修改 MySQL按照文件下面的my.cnf文件 首先是找到my.cnf文件, # find / -name "my.cnf" # cd /etc 接下来最好是先备份my ...

  5. mysql 默认值批量更改_mysql 批量修改默认值

    CREATE PROCEDURE `sp_clearchardefaultvalue`() BEGIN DECLARE s_tablename VARCHAR(100); DECLARE s_fiel ...

  6. 如何调整照片的大小?电脑怎么修改图片大小尺寸?

    我们下载的图片尺寸大小都不一样,如果想要图片尺寸修改大小就需要对图片处理一下,单张图片处理的话很简单,但是如果批量调整照片大小尺寸的话就比较麻烦.所以下面来介绍一个图片改大小(在线修改图片尺寸大小工具 ...

  7. MySQL深入了解与性能优化

    索引优化 索引创建 CREATE [UNIQUE] INDEX indexName ON mytable(columnname(length)); ALTER mytable ADD [UNIQUE] ...

  8. mysql默认字符编码设置教程:my.ini设置字符编码

    转载2016-06-07 21:49:26 标签:mysql 本文介绍了MySQL数据库中默认字符编码的设置方法,如何设置与修改mysql默认编码,my.ini设置字符编码的教程,需要的朋友参考下. ...

  9. speedoffice(Word)如何修改字体大小呢?

    我们有时需要根据实际的需求修改默认的字体大小,那么怎么修改文字大小呢?看看小编是怎么操作的吧 首先,选中需要修改字体大小的文字,如图: 方法1在主页菜单里面点击"增加字体大小"或者 ...

最新文章

  1. sed 替换_Linux中sed的用法
  2. 【计算机网络】物理层和数据链路层概述吐血总结(这知识它不进脑子啊~!)
  3. sequel mysql8.0_sequel pro 无法链接mysql8.0以上高版本
  4. oracle数据库link格式,Oracle创设DB Link
  5. LeetCode MySQL 178. 分数排名(dense_rank连续排名)
  6. 这个小伙因WannaCry勒索软件一夜成名,获得一年免费披萨
  7. angular 引入编辑器遇到的各种问题。。。
  8. 小技巧:如何在 js 中使用 apply 语法执行 new?
  9. 局域网版teamview跨网远程访问的方法分享
  10. 蚂蚁金服java研发面经_蚂蚁金服Java研发岗实习内推面经
  11. android sqlite英文文献,SQLite数据库外文文献翻译.doc
  12. 小程序毕业设计 基于java后台微信在线考试小程序毕业设计参考
  13. 82ip网 - 每日更新50万HTTP和HTTPS代理IP!
  14. Error: L6218E: Undefined symbol f_mkfs (referred from main.o)
  15. C++计算机二级操作题(二)
  16. PNP三极管和NPN三极管的开关电路
  17. Shell脚本实现sshd黑名单
  18. 微信H5棋牌游戏APP下载链接被屏蔽的解决办法
  19. 英语故事4、6思维导图
  20. 关于谷歌市场(Google)应用的上架方案和被审核抽检下架的预防建议 -- 谷歌上架加固、防下架、防抽检

热门文章

  1. React开发(111):写注释的方法
  2. 工作374-前端margin:0 auto为什么会失效
  3. [vue] 怎么捕获组件vue的错误信息?
  4. 工作293:调节删除顺序删除
  5. 前端学习(2693):重读vue电商网站14之步骤条的使用与美化
  6. 工作74:vue带参数跳转其他页面
  7. 工作总结17:组件封装思想
  8. “约见”面试官系列之常见面试题第三十六篇之CSS常见兼容性问题及解决方案(建议收藏)
  9. 前端学习(1856)vue之电商管理系统电商系统之安装mysql出现mysql报错:Can’t start server: Bind on TCP/IP port: 通常每个套接字地址(协议/网络地址
  10. 前端学习(1764):前端调试值之性能分析的方法二