Innodb表空间page size的选择

2009-09-25 22:51:12  |   才被阅读:1,730 次  |   才2条评论
分类: MySQL基础知识  |   发布: OurMySQL  |   来源:谭俊青
标签: ,

前段时间看innodb plugin源码的时候,看到有如下一段
include/univ.i

 /* The 2-logarithm of UNIV__SIZE: */
#define UNIV_PAGE_SIZE_SHIFT    14
/* The universal page size of the database */
#define UNIV_PAGE_SIZE          (1 << UNIV_PAGE_SIZE_SHIFT)

/* Maximum number of parallel threads in a parallelized operation */
#define UNIV_MAX_PARALLELISM    32

尝试将 UNIV_PAGE_SIZE_SHIFT 改成13 (相当于page size为8K),编译通过并可以正常使用。

后来找到Google的MySQL团队发表的一篇文章,文中的介绍 page size 可以选择 8K、 16K、 32K、 64K。不过因为Innodb每个page都有不小的冗余空间,从空间和内存利用的角度来讲,page size越大越好。但是从checkpoint的角度来讲恰恰相反,page size越小,性能越好(上次演讲的时候我介绍过原理)。所以最后选择多大的page size可以根据实际的业务测试而定。

相关文章

2 Responses to “Innodb表空间page size的选择”

  1. 骨头软件工作室 Says:

    光棍节快乐!


  2. 飞帕 Says:

    站点不错哦。


Leave a Reply