引言
CMU 15445 数据库课程项目(Bustub)个人实现项目结构
课程整体结构(待持续确认)

项目整体结构

项目1:缓冲池管理器 Buffer Pool Manager

项目2:B+树 B+ Tree
项目2总览


一、点查(READ_ONLY)

二、迭代扫描(Iterator ++)

三、乐观插入(OPTIMISTIC_INSERT)与回退常规插入(REGULAR_INSERT)

四、乐观删除(OPTIMISTIC_DELETE)与回退常规删除(REGULAR_DELETE)

访问整体策略

项目3:查询执行器
项目3总览

表达式

Part 1:基础执行器/优化器
执行器:Update(Insert、Delete类似)

执行器:Sequential Scan

执行器:Index Scan

优化器:顺序扫描优化至索引扫描

Part 2: 聚合与连接执行器
聚合

连接
嵌套循环连接

嵌套索引连接

Part 3: HashJoin 执行器和优化
中间结果存储页

哈希连接

NLJ至HashJoin优化
优化器识别 NLJ 并尝试重写为 Hash Join

Part 4: 外部归并排序 + Limit 执行器 + 窗口函数
外部归并排序

Limit执行器

窗口函数执行器

结果
P1

P2

QPS(无优化)

P3
