关于INNODB引擎的PAGE大小,如果安装好了是不能改变的。
但是可以在安装前,编译对应的源代码。

1.按照一下步骤即可。我用的版本是5.1.30 企业版。(这里,鼓励大家买企业版)

更改源码:

在storage/innobase/incluce/univ.i 找 UNIV_PAGE_SIZE

#define UNIV_PAGE_SIZE (1 * 8192)

可以更改如下:
#define UNIV_PAGE_SIZE (1 * 8192)  页大小8K
#define UNIV_PAGE_SIZE_SHIFT 13

#define UNIV_PAGE_SIZE (2 * 8192)  页大小16K
#define UNIV_PAGE_SIZE_SHIFT 14

#define UNIV_PAGE_SIZE (4 * 8192)  页大小32K
#define UNIV_PAGE_SIZE_SHIFT 15

#define UNIV_PAGE_SIZE (8 * 8192)  页大小64K
#define UNIV_PAGE_SIZE_SHIFT 16

然后可以编译了。
8K:
./configure --prefix=/usr/local/mysql8k --with-plugins=partition,myisam,heap,innobase,blackhole,myisammrg
make;
make install;
16K
./configure --prefix=/usr/local/mysql16k --with-plugins=partition,myisam,heap,innobase,blackhole,myisammrg
make;
make install;
以此类推,这样你就可以测试哪个PAGE适合你自己的需求。

2.这里测试工具我用的是sysbench,功能很强大,不过在5.0后才能自定义SQL语句。
安装办法见官方手册:
http://sysbench.sourceforge.net/docs/#install

不过要注意,编译sysbench 的时候 --with-mysql 选项对应不同PAGE_SIZE的目录,--prefix这里我是分开对应每个编译版本的MySQL,比如:
--prefix=/usr/local/mysql8k,
--prefix=/usr/local/mysql16k,
--prefix=/usr/local/mysql32k,
--prefix=/usr/local/mysql64k

我简单用sysbench 的测试了一下,结果8K的PAGE 插入1亿条数据用了60m51.606s, 而PAGE为32K的用了46m31.647s。
可能我测试的不太准确,我忽略了一些值得考虑的因素,等过段时间我知识丰富了,给大家一个很满意的答复。

转载于:https://blog.51cto.com/yueliangdao0608/157743

更改innodb_page_size状态值相关推荐

  1. react入门代码_如何在React中构建温度控制应用程序-包括提示和入门代码

    react入门代码 我们正在建立的 (What we're building) In this beginner React project, we're going to learn how to ...

  2. Java设计模式(十四):MVC设计模式

    1. 应用场景 MVC设计模式广泛应用于桌面应用程序开发和网页页面开发这些与用户交互的应用场景中. 2.概念 众所周知MVC不是设计模式,是一个比设计模式更大一点的模式,称作设计模式不合理,应该说MV ...

  3. osgi简介_OSGi:简介

    osgi简介 为基于Java的系统创建的OSGi提供了模块化系统的框架. OSGi使得可以定义每个单独模块与其他模块的依赖关系,并使用户能够控制生命周期并动态更改系统的每个组件. OSGi是一个规范, ...

  4. H5数独游戏开发——游戏通关及重玩

    如何判断游戏是否通关?通关后如何重新开始游戏,让用户重玩?今天给大家详细介绍如何实现以上功能.先看一下数独游戏通关后的提示界面,截图如下: 首先,我们需要判断游戏是否通关,那么如何判断呢?有两个条件: ...

  5. Bluetooth 蓝牙介绍(四):低功耗蓝牙BLE Mesh网络 Ⅰ—— 基础概念

    文章目录 背景 术语 Managed Flooding Models Scenes 架构 Node Features 中继节点 代理节点 友元节点和低功耗节点 示例 BLE Mesh Networki ...

  6. @vue/cli与rimraf 工具包的使用,打包时 calc 报错处理及vuex使用小示例

    @vue/cli 实际使用心得 文章目录 @vue/cli 实际使用心得 小结 components 组件开发:可以将复杂功能细分成具体的小功能模块简化开发难度,同时也会导致嵌套层数很多的情况:例如最 ...

  7. [OpenGL红宝书]第一章 OpenGL概述

    第一章 OpenGL概述 标签(空格分隔): OpenGL 第一章 OpenGL概述 1 什么是OpenGL 2 初识OpenGL程序 3 OpenGL语法 4 OpenGL渲染管线 41 准备向Op ...

  8. 运维手册——Mysql索引字段长度太长报错

    声明:这是我在大学毕业后进入第二家互联网公司学习的内容 背景 Mysql执行Create Table语句时报错 Specified key was too long; max key length i ...

  9. angular4更改表单中显示的值_Angular 4 动态表单教程 Reactive Forms教程

    动态表单(React Forms)是一种动态构建表单的技术,用于解决有时候手动编写和维护表单所需工作量和时间会过大的问题.特别是在需要编写大量表单时.表单都很相似,而且随着业务和监管需求的迅速变化,表 ...

最新文章

  1. 提效率享效益,看华天CAPP如何优化天润曲轴工艺管理
  2. python程序基础书写文本_Python基础手册4——文本结构
  3. [Design]设计模式-- 为什么要学习设计原则/模式
  4. python操作mycat只操作主库【解决办法】
  5. cad多线段长度计算总和_没想到啊,我平时用的CAD多段线有这么多学问
  6. Web前端笔记-element ui中table中某列添加a便签进行跳转
  7. 图片服务 - thumbor可用的探测器
  8. mysql三高讲解(二):2.3 InnoDB索引即数据
  9. for-in和for-of,forEach和Map
  10. 连接linux工具Mtr,Linux/Windows MTR工具检测服务器性能详细方法
  11. ebyte Lora 转 4G 透传通讯测试
  12. 健身中有氧运动和无氧运动是什么?它们有什么区别?
  13. IC设计多时钟域处理
  14. 杜蕾斯鞋套?又污又高级!
  15. csv文档转为tsv文档-csv to tsv
  16. COVID-19疫苗到底是如何杀死新冠病毒的?
  17. 《Python语言程序设计》王恺 王志 机械工业出版社 第三章 函数 课后习题答案
  18. PMP的PDU是什么?有什么用?怎么免费获得?
  19. 小册上新|张鑫旭:技术写作的“收益”超乎想象
  20. VirtualBox虚拟硬盘文件管理

热门文章

  1. 谷歌人工智能野心:从“下围棋”开始走向商用赚钱
  2. 为什么神经网络会把乌龟识别成步枪?现在的 AI 值得信任吗?
  3. 学术界盛事揭幕:一图解读跨越百余年的诺贝尔奖
  4. 破玩意 | 多线程 +1 的最快操作
  5. 2020 年德国 IT 薪酬大揭秘!
  6. JSONObject和JSONArray(json-lib-2.4)的基本用法
  7. springCloud之配置中心学习
  8. 云栖小镇不是“镇”,就像中关村不是“村”。小镇是一个符号,就像起建于50年前的硅谷的“谷”,和100年前爱迪生所在的门洛公园。...
  9. PHP时间戳 strtotime()使用方法和技巧
  10. JSTL fmt:formatNumber 数字、货币格式化