摘要: 系统崩溃后,系统会检查日志以找到最后一个<checkpoint L>记录(这可以通过从日志末尾向后搜索日志来完成,直到找到第一个<checkpoint L>记录),**L是检查点时活动的事务列表**。 重做或撤消操作只需要应用于L中的事务,以及在<checkpoint L>记录写入日志后开始执行的所 阅读全文
posted @ 2023-06-09 07:50 sahara-随笔 阅读(33) 评论(0) 推荐(0)
摘要: 第十六章 给定一个关系代数表达式,查询优化器的工作是制定一个查询评估计划,该计划计算与给定表达式相同的结果,并且是生成结果的成本最低的方法(或者,至少,成本不会比成本最低的方法高多少) 第十七章 事务————ACID **事务的隔离属性确保事务的并发执行的结果状态等效于如果这些事务以某种顺序一次执行 阅读全文
posted @ 2023-06-09 07:50 sahara-随笔 阅读(15) 评论(0) 推荐(0)
摘要: join操作 Nest Loop Join 算法简单来说,就是双重循环,遍历外表(驱动表),对于外表的每一行记录,然后遍历内表,然后判断join条件是否符合,进而确定是否将记录吐出给上一个执行节点。从算法角度来说,这是一个M*N的复杂度。 HashJoin 是针对equal-join场景的优化,基本 阅读全文
posted @ 2023-06-09 07:50 sahara-随笔 阅读(25) 评论(0) 推荐(0)
摘要: 闪存SSD 固态磁盘(SSD)使用NAND闪存构建,并提供与磁盘存储相同的面向块的接口。与磁盘相比,固态硬盘可以提供更快的随机访问:固态硬盘检索一页数据的延迟从20到100微秒不等,而对磁盘的随机访问需要5到10毫秒。 固态硬盘的数据传输速率高于磁盘,并且通常受到互连技术的限制;根据特定的SSD型号 阅读全文
posted @ 2023-06-09 07:50 sahara-随笔 阅读(22) 评论(0) 推荐(0)
摘要: 多级索引 由于全量索引数据量较大,不能直接全部放入内存中,需要分级,将上层稀疏索引放入内存中,降低IO次数。 辅助索引必须密集的,每个搜索关键字值都有一个索引条目,**辅助索引必须包含指向所有记录的指针**;如果辅助索引只存储部分搜索关键字值,则具有中间搜索关键字值的记录可能位于文件中的任何位置,通 阅读全文
posted @ 2023-06-09 07:49 sahara-随笔 阅读(52) 评论(0) 推荐(0)
摘要: 无损分解 如果我们将r投影到R1和R2上,并计算投影结果的自然连接,我们可以精确地返回r。相反,如果当我们计算投影结果的自然连接时,我们得到了原始关系的适当超集,那么分解是有损耗的。 码,设 K 为某表中的一个属性或属性组,若除 K 之外的所有属性都完全函数依赖于 K(这个“完全”不要漏了),那么我 阅读全文
posted @ 2023-06-09 07:49 sahara-随笔 阅读(31) 评论(0) 推荐(0)