最近工作中遇到了询问mysql数据存储格式的问题,查阅了一下,分享一下!
innodb file format问题:
Antelope包括compact和redundant两种格式;barracuda包括compressed和dynamic两种格式。
后者是后来添加的数据存储格式。主要的差别主要是对blob等大数据类型的存储的不同,antelope类型的格式在存储blog等大数据类型时,会保存该类型的768个字节和剩余数据存放的地址指针;后来的存储格式在存储时用20个字节来存储实际数据的一个指针。原因是mysql支持的最大记录行的长度为65532个,antelope格式把多余768个字节的部分作为溢出行来存储,现在的存储格式直接作为溢出行存储。
整体来说,后来的存储格式更适用于优化表中存在大数据字段的情况;而之前的存储方式,特别是compact方式更适合存储每行的数据都较少,每页中存储更多的数据的情况。
阅读(2955) | 评论(0) | 转发(0) |