存储过程是提前编译及定义的 SQL 语句,他存放在数据库的服务器中,使用的时候只需要调用
即可
①查询分析
②查询检查
③查询优化
④查询执行
①简单的全表扫描算法。
②索引扫描算法。
嵌套循环算法这是最简单的可行算法。
选择排序算法这是等值链接常用的算法,尤其适合已经排好序的情况。
索引链接算法 hash join 算法
第一,选择运算尽可能先做。
第二,投影运算选择运算同时进行。
第三,把投影从其前后的双目运算结合起来。
第四,找出公共子表达式。
单个逻辑单元执行的一系列操作。
①原子性:要么全完成,要么全不完成;
②一致性:事务完成时,必须使所有的数据都保持一致状态;
③隔离性:线程之间不能互相干扰;
④持久性:事务完成之后对系统的影响时永久的
当下列事件之一发生时,事务就开始了:
● 连接到数据库上,并执行一条DML语句(INSERT、UPDATE或DELETE)。
● 前一个事务结束后,又输入了另外一条DML语句。
当下列事件之一发生时,事务就结束了:
● 执行COMMIT或ROLLBACK语句。
● 执行一条DDL语句,例如CREATE TABLE语句;在这种情况下,会自动执行COMMIT语句。● 执行一条DCL语句,例如GRANT语句;在这种情况下,会自动执行COMMIT语句。
● 断开与数据库的连接。在退出SQL*Plus时,通常会输入EXIT命令,此时会自动执行COMMIT语句。
事务的提交是指事务里的所有操作都正常完成。
事务的回滚是指程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。
①原子性
②一致性
③隔离性
④持久性
①事务内部的故障;
②系统故障;
③介质故障;
④计算机病毒。
事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。
①数据转储
②登录日志文件
①完全转储
②差量转储
③增量转储
日志文件是用来记录事务对数据库的更新操作的文件。
①进行的操作。
②操作的对象。
③操作进行前数据库的状态和进行后的状态。
①必须先记录日志,再进行操作。
②必须按照时间的先后顺序进行记录。
可以大大降低恢复的时间提高效率。
可以用来进行事务故障恢复和系统故障恢复并协助后备副本进行介质故障恢复。
利用数据库后备副本和日志文件,将数据库恢复到故障前的正常状态。
事务
①丢失更新;(丢失修改)
②不一致分析(不可重复读);
③依赖于未提交更新(读脏数据) ;
封锁:锁使用的空间与封锁对象成正比;
时间戳:每个数据对象的读时间和写时间都需要空间;
乐观控制法:保存事务操作的临时副本
排他锁:一个事务需要等上一个事务解除封锁之后才能对数据进行封锁;
共享锁:数据被一个事务封锁之后,另一个事务可以并发读,但不能修改
一级封锁协议:事务修改数据前加锁,事务结束后解锁,解决丢失修改问题。
二级封锁协议:在读取事务之前加锁,读完后释放锁,防止丢失修改,防止脏读。
三级封锁协议:在读取数据之前加锁,直到事务结束才释放,防止丢失修改,脏读,不可重复读
活锁:没有按请求顺序执行关事务,事务可能永远等待;
解决办法:采用先来先服务策略
产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。
** 预防**:
①一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。
②顺序封锁法:顺序封锁法是预先对数据对
象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
死锁的诊断与解除:
①超时法
如果一个事务的等待时间超过了规定的时限,就认为发生了死锁
②等待图法:如果发现事务等待图中存在回路,则表示系统中出现了死锁。
解除方法:通常撤销一个处理代价最小的事务,释放此事务持有的所有锁,使其他事务得以继续运行下去。
如果几个事务并行(交错)执行的结果和按次序串行执行的结果相同,则称该并行执行结果是正确的。这样的调度称为可串行化的调度
可串行化是并发事务正确调度的基本准则
两段锁协议指事务必须分成两个阶段对数据进行加锁和解锁;释放一个封锁以后,事务不再申请获得其它封锁。
1)第一阶段(扩展阶段):所有事务对数据加锁,但不能解锁;
2)第二阶段(收缩阶段):所有事务对数据解锁,但不能加锁。
封锁粒度( granularity )是指封锁对象的大小。
封锁对象可以是逻辑单元,也可以是物理单元。以关系数据库为例,逻辑单元包括属性值、属性值的集合、元组、关系、索引项、索引表乃至整个数据库。
封锁粒度与系统的并发度和并发控制的开销有关;封锁粒度越大,数据库能封锁的数据单元越少、并发度越小,系统开销也变小。
意向锁的含义是如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任一结点加锁时,必须先对它的上层结点加意向锁。
例如,对任一元组加锁时,必须先对它所在的关系加意向锁。
分类:
①意向共享锁
②意向排他锁
③共享意向排他锁