数据库系统概念-数据存储和查询
缓冲区管理
-
缓冲区替换策略:最近最少使用策略,即将最近访问最少的快写回磁盘
-
块强制写回:强制写回磁盘,避免崩溃时数据丢失
文件组织
- 定长记录
- 使用空闲链表将所有删除记录连接
- 插入新纪录时,使用文件头指向的记录,并改变文件头指针以指向下一个可用记录
- 变长记录
- 字符串表示:在每个记录结尾加一个结束符,表明当前为一个记录
- 分槽页结构:
- 块头包含:块中记录条目数,快中空间空间结尾处,包含记录位置和大小的记录条目数组
- 从块尾部连续分配记录
- 删除记录时,删除记录之前的记录后移并修改头块中指针和记录信息
- 定长表法
- 用一个永远不会被超过的长度存储记录,未使用空间空值占位(空间浪费过大)
- 链表表示:指针连接起来的定长记录列表表示边长记录
- 使用锚块和溢出块
连接转换
- 尽量早做选择,减小中间结果
- 等价规则集选择最小规则
- 优化连接次序减少临时结果记录量、
- 尽早执行投影运算
- 有选择的笛卡尔积运算转为连接运算
执行树优化
- 投影属性分解并在查询树上尽可能下移
- 启发式规则在查询树中将选择和投影运算下移
嵌套子查询优化
- 尽可能将嵌套子查询转化为连接,用具有连接的查询替代嵌套循环来去除嵌套相关
物化视图
- 物化视图必须与最新数据保持一致,即视图维护
- 对视图定义每个关系插入删除更新定义触发器
- 增量维护视图:只更新物化视图受影响的部分,同步维护原关系和物化关系
版权声明:本文为zeroArn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。