(1)实际上每一行数据是放在数据页的,每个数据页的大小是16KB,但是万一行数据的大小超过了页的大小怎么办?
比如一个表的字段类型是VARCHARA(65535),最大可以包含65535个字符,也就是65535个字节,这远远大于16KB的大小了,一行数据的这个字段都远超一个数据页的大小。
这个时候在那一页里存储这行数据,然后在这个超大字段,仅仅包含它一部分数据,同时包含一个20个字节的指针指向了其他数据页,那些数据页用链表串联起来,存放这个超大字段的数据。
包括其他一些字段类型都是一样的,比如TEXT,BLOB这种类型的字段,都有可能溢出,一行数据存储在多个数据页。
字段的值包含一部分数据,同时包含一个20个字节的指针指向其他数据页。
某个字段值太长超过了一个数据页 就按照 部分数据+20个字节指针指向其他数据页继续存储
整个数据的物理存储机制,包括行数据,数据页,表空间,磁盘文件这些概念会陆续解释