数据库系统概念-数据存储和查询

缓冲区管理

  • 缓冲区替换策略:最近最少使用策略,即将最近访问最少的快写回磁盘

  • 块强制写回:强制写回磁盘,避免崩溃时数据丢失

文件组织

  • 定长记录
    • 使用空闲链表将所有删除记录连接
    • 插入新纪录时,使用文件头指向的记录,并改变文件头指针以指向下一个可用记录
  • 变长记录
    • 字符串表示:在每个记录结尾加一个结束符,表明当前为一个记录
    • 分槽页结构:
      • 块头包含:块中记录条目数,快中空间空间结尾处,包含记录位置和大小的记录条目数组
      • 从块尾部连续分配记录
      • 删除记录时,删除记录之前的记录后移并修改头块中指针和记录信息
    • 定长表法
      • 用一个永远不会被超过的长度存储记录,未使用空间空值占位(空间浪费过大)
      • 链表表示:指针连接起来的定长记录列表表示边长记录
      • 使用锚块和溢出块

连接转换

  • 尽量早做选择,减小中间结果
  • 等价规则集选择最小规则
  • 优化连接次序减少临时结果记录量、
  • 尽早执行投影运算
  • 有选择的笛卡尔积运算转为连接运算

执行树优化

  • 投影属性分解并在查询树上尽可能下移
  • 启发式规则在查询树中将选择和投影运算下移

嵌套子查询优化

  • 尽可能将嵌套子查询转化为连接,用具有连接的查询替代嵌套循环来去除嵌套相关

物化视图

  • 物化视图必须与最新数据保持一致,即视图维护
  • 对视图定义每个关系插入删除更新定义触发器
  • 增量维护视图:只更新物化视图受影响的部分,同步维护原关系和物化关系
posted @ 2016-12-20 20:08  zeroArn  阅读(364)  评论(0编辑  收藏  举报