SQlite源码分析

页面溢出

       有效载荷及其内容可有不同的大小。然而,页面大小是固定不变的。因此,给定的有效载荷总有可能超出单页装载大小。这种情况发生时,额外的有效载荷将添加到溢出页面的链接链表上。由此看来,有效载荷将在有序的链接链表中显示,如图5所示。        图5中第4个有效载荷超出了当前页所能装载的大小。因此,B-tree模块创建了溢出页来装载。实际上,一个溢出页也不能装载,因此,又链接了第二个溢出页。这实际上就是处理二进制大对象的方法。使用真正的大字段时,最后都采用页链接链表来存储。如果blob字段太大,这种方式效率很低,此时,可考虑创建外部文件来存储blob数据,并将外部文件名保存在记录中。