格式細節 一個文件分成了多個頁。第一頁叫做頁1,第二頁叫做頁2,一次類推。頁的個數為0表示沒有頁。頁的大小可以從512 到 65536。每一頁或者是一個btree頁,或者是一個freelist頁,或者是一個溢出頁。 第一頁一定是一個btree頁。第一頁的前面100個字節包含了一個特殊的首部(文件頭),它是這個文件的描述。 文件頭的個數如下: ** OFFSET SIZE DESCRIPTION ** 0 16 Header string(首部字符串): "SQLite format 3\000" ** 16 2 Page size in bytes(頁的字節數). ** 18 1 File format write version(文件寫操作的版本) ** 19 1 File format read version (文件讀操作的版本) ** 20 1 Bytes of unused space at the end of each page(每一頁結尾未使用的字節) ** 21 1 Max embedded payload fraction(最大的嵌入有效負荷分片) ** 22 1 Min embedded payload fraction(最小的嵌入有效負荷分片) ** 23 1 Min leaf payload fraction(最小的頁有效負荷分片) ** 24 4 File change counter (文件變化計數器) ** 28 4 Reserved for future use (保留字節) ** 32 4 First freelist page (第一個freelist頁) ** 36 4 Number of freelist pages in the file (本文件中freelist頁的個數) ** 40 60 15 4-byte meta values passed to higher layers() ** 所有的整數都是大端的。