数据库原理
以下八股主要基于 15-445 的课程内容(slide + note)
SQL 语法
关系模型 & 关系代数
(喜欢考但没啥用的东西)1-NF,2-NF,3-NF,BNF
现代 SQL
存储
缓存池
缓冲池的页面淘汰算法为什么使用 LRU-K,而非 LRU
扫描一张巨大的表时,会有新的页被不断写入,且多数页在短时间内不会被再次访问。如果我们使用 LRU,常被访问的页会被淘汰。
因此,我们使用 LRU-K
对于访问次数小于 K 的页,我们优先淘汰
对于访问次数大于等于 K 的页,我们按倒数第 K 次的访问时间排序,淘汰最老的页。
LRU-K 的实现方式是
索引
哈希表
B+树
LSM 树
索引上的并发控制
算法 / 算子
排序合并
优化方法
谓词下推
事务(Transaction)与并发控制
???
READ COMMITTED, …
Phantom read, …