MySQL-File Page Type
参考文献
MySQL 源码
MySQL5.6 File Page Types
来源storage/innobase/include/fil0fil.h
File Page Type
十进制
16进制
含义
说明
FIL_PAGE_INDEX
17855
0x45BF
B-tree node
B+树叶节点
FIL_PAGE_UNDO_LOG
2
0x0002
Undo log page
Undo Log页
FIL_PAGE_INODE
3
0x0003
Index node
索引节点
FIL_PAGE_IBUF_FREE_LIST
4
0x0004
Insert buffer free list
Insert Buffer空闲列表
FIL_PAGE_TYPE_ALLOCATED
0
0x0000
Freshly allocated page
该页为最新分配
FIL_PAGE_IBUF_BITMAP
5
0x0005
Insert buffer bitmap
Insert Buffer位图
FIL_PAGE_TYPE_SYS
6
0x0006
...
MySQL中utf8与utf8mb4的区别
MySQL中utf8与utf8mb4的区别
utf8mb4是MySQL在5.3.3后增加的编码,其中mb4的意思是: most byte 4,专门兼容四字节的Unicode
原来的MySQL支持的utf8编码最大字符长度为3字节,若遇到4字节的宽字符就会插入异常
3字节的utf8最大能编码的Unicode字符为Oxffff,即Unicode中基本多文种平面(BMP),即任何不在基本多文种平面的Unicode字符都无法使用MySQL的utf8字符集进行存储,包括Emoji表情和很多不常用的汉字
当使用utf8字符集时,需要保留长度就是utf8最长字符乘以字符串长度,例CHAR(100),MySQL会保留300字节长度
utf8升级utf8mb4步骤
首先将数据库默认字符集有utf8改为utf8mb4,对应的表默认字符集也要改为utf8mb4,已经存储的字段默认字符集也要进行相应调整;
123456-- 修改数据库ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;- ...