cmu15-445笔记九 查询优化

本节课主要关于查询优化,首先介绍了Sql语句的执行过程,然后就是两种优化方式:基于规则的优化和基于代价的优化。

阅读更多

cmu15-445笔记八 Sql执行

本节介绍了SQL的执行流程,首先有查询计划,接着是查询计划的执行方式,然后是单表的访问方法。最后介绍了修改性的SQL语句的注意点以及表达式求值的优化。

阅读更多

cmu15-445笔记六 排序与聚集

本节课介绍了排序与聚集。由于数据库中的数据量巨大,排序与聚集无法在内存中完成,因此有了相应的基于外存的算法。

阅读更多

cmu15-445笔记七 表连接

表连接是关系型数据库的最频繁的操作之一。如何优化表连接是提高数据库性能的重点。

本节课介绍了三种Join,分别是Loop join、sort-merge join和hash join。

阅读更多

实验P2

实验二要求实现一个数据结构 :B+树。

实验难点在于理清B+树存储结构、插入分裂、删除合并以及并发控制。

强烈建议阅读教材给出的B+树执行流程的伪代码。

阅读更多

实验P0

实验零要求实现一个数据结构:前缀树。适合复习CPP以及适应实验代码环境。

阅读更多

实验P1

实验一要求实现一个缓冲池实例,包括动态扩张的哈希表、基于LRU-K的替换器。

动态哈希表的难点在于理清数据结构,数据插入与扩容过程,不要求缩容。

LRU-K的实现比较坑,如果没有理解替换器与缓冲池整体的关系,也就很难理解各个函数的实现。

建议看教材:Database System Concepts 里面讲得比较清晰。

阅读更多