自己写:行数变多,树会怎么长

自己写:行数变多,树会怎么长

把 TODO 补完,打出500 行时索引占几页和2000 行时索引占几页(用 / 隔开)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk(rows, i

阅读更多 →
自己写:数出叶子页有几页

自己写:数出叶子页有几页

把 TODO 补完,打出索引 ix 的叶子页有几页。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk(rows, idx, w) → 现造一个库:rows

阅读更多 →
表本身也是一棵树

表本身也是一棵树

下面这段打出表 t 的两类页各几页(用 / 隔开)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk(rows, idx, w) → 现造一个库:rows

阅读更多 →
⚠️ 数一数这棵树的两类页

⚠️ 数一数这棵树的两类页

下面这段打出索引 ix 的页分成哪几类、各几页。⚠️ 结果形如 [("internal", 1), ("leaf", 14)],这里只打出两个数(用 / 隔开)

阅读更多 →
⚠️ 树为什么长不高

⚠️ 树为什么长不高

几百万行的表,索引这棵树往往也只有三四层。原因是【0】。

阅读更多 →
索引这棵树分哪两种页

索引这棵树分哪两种页

一份索引在磁盘上的页分成两类,分别是【0】。

阅读更多 →
自己写:出一份存储体检单

自己写:出一份存储体检单

把 TODO 补完,打出一页多大、一共几页、表占几页、索引占几页、索引的树根在第几页(五段,用 / 隔开;2000 行带索引)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层

阅读更多 →
自己写:量出索引的代价

自己写:量出索引的代价

把 TODO 补完,打出没索引时几页、有索引时几页、多出来几页(三段,用 / 隔开;都是 2000 行)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk

阅读更多 →
自己写:加了索引之后各占几页

自己写:加了索引之后各占几页

把 TODO 补完,打出表占几页、索引占几页、一共几页(三段,用 / 隔开;库是 2000 行带索引的)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk

阅读更多 →
自己写:这张表占了几页

自己写:这张表占了几页

把 TODO 补完,打出 2000 行那张表自己占了几页。⚠️ 这个数比整个库的页数小——库里还有别的东西。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) m

阅读更多 →