1. Compact行记录是在MySQL 5.0时被引入的,其设计目标是能高效存放数据。
2. Redundant是MySQL 5.0版本之前InnoDB的行记录存储方式。
3. InnoDB存储引擎可以将一条记录中的某些数据存储在真正的数据页面之外,即作为行溢出数据。一般认为 BLOB、LOB这类的大对象列类型的存储会把数据存放在数据页面之外,这个理解有点偏差,BLOB可以不将数据放在溢出页面,而即使是varchar列数据类型,依然有可能存放为行溢出数据。
4. Oracle VARCHAR2最大存放4000个字节,SQL Server 最大存放8000个字节,MySQL的VARCHAR可以存放65535个字节。
5. TXET(一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。)
6. MEDIUMTEXT(一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。)
7. VARCHAR(N)中,N指的是字符的长度,VARCHARL类型最大支持65535指的是65535个字节。
8. 在Compact行记录中,数据页只保存数据的钱768个字节,多余的数据保存在BLOB页中。
9. Barracuda文件格式下拥有两种新的行记录格式Compressed和Dynamic两种,新的两种格式对于存放BLOB的数据采用了完全的行溢出的方式,在数据页中只存放20个字节的指针,实际的数据都存放在BLOB Page中,而之前的Compact和Redundant两种格式会存放768个前缀字节。Compressed行记录格式的另一个功能就是存储在其中的数据会以zlib的算法进行压缩。