⚠️ 2000 行占几页,一页装几行

外面一整张,里面一页页 你看到的 里面其实 下面这段现造一个 2000 行的库,打出一共几页和平均一页装几行(用 / 隔开)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk(rows, idx

开始练习 →

自己写:行变胖之后要几页

外面一整张,里面一页页 你看到的 里面其实 把 TODO 补完:造两个都是 1000 行的库,一个每行 10 个字符、一个每行 100 个字符。打出两个各占几页(用 / 隔开)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3

开始练习 →

自己写:一页多大,一共几页,一共多少字节

外面一整张,里面一页页 你看到的 里面其实 把 TODO 补完,打出一页多大、一共几页、两个乘起来是多少(三段,用 / 隔开;库用 2000 行的)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的)

开始练习 →

缓冲池是干什么用的

数据库在内存里留一块"缓冲池",用来【0】。

开始练习 →

缓冲池满了会怎样

缓冲池装满了,又要读一页新的,这时候会【0】。

开始练习 →

⚠️ 为什么"扫一张大表"特别伤缓冲池

一次全表扫描会把缓冲池里原有的页全挤掉。原因是【0】。

开始练习 →

⚠️ 池子 5 页,顺序扫 20 页

下面这段用一个只装得下 5 页的缓冲池,顺序读 20 页。打出命中了几次和读了几次盘(用 / 隔开)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk(rows, idx, w) → 现造一个库

开始练习 →

同一页读二十遍

下面这段用同样大小的池子,但反复读同一页 20 次。打出命中了几次和读了几次盘(用 / 隔开)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk(rows, idx, w) → 现造一个库:ro

开始练习 →

自己写:把池子调大之后呢

把 TODO 补完:顺序读 20 页,但池子改成能装 25 页。打出命中几次和读盘几次(用 / 隔开)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk(rows, idx, w) → 现造一个

开始练习 →

自己写:来回读两页

把 TODO 补完:池子装 5 页,交替读第 1 页和第 2 页,一共读 20 次。打出命中几次和读盘几次(用 / 隔开)。 这条路线两样工具都在题面里备好了 ① 真的 sqlite3(页这一层是能内省出来的) mk(rows, idx,

开始练习 →