数据库相关概念

事务中的redo用于恢复,存在COMMIT由于并不知道是否在内存中的数据回写进磁盘。

undo用于回滚,中间ABORT。

A:数据的原子性。

C:数据的一致性。

I:数据的隔离性,并发操作。

D:数据的持续性。

常用的锁:

共享锁:读锁

排它锁:写锁

互斥锁:用于串行调度。

死锁处理:

1.超时死锁检测

2.等待图

3.通过元素排序预防死锁

存储过程和视图的区别:

存储过程  当然是预先编译sql语句,  或让sql作某种特定程序,也可以提高效率

视图 让用户提取和他们有关的数据, 有提高安全保安及提升query效率的意味


最重要的是在服务器的存储和运行过程都几乎是一样的,二者都是以SQL语句集存储的,而且在运行之前都是经过编译的,也就是不用每次都重新编译,这样可以大大提高执行效率。

顾名思义,其区别一个重在“过程”、一个重在“图”。
也就是存储过程涉及很多的数据处理,整个是一个复杂的过程。它可以接收参数,相当于一个函数。主要目的是用来处理数据。

而视图是把现在有数据组合成新的形式展示出来,相当于一张虚拟的表,在运行时可以当作表Table来进行查询(关于增删改的请参照http://msdn.microsoft.com/zh-cn/office/ms180800.aspx)。总之视图的目的是用来呈现数据。

事实上,两者其内部实现是基本一样的,提供者在开发这些对象时,是针对不同目的不同应用的。
我们在使用时,同一件事情,实现的方法可以是多样的,不是说只有那者行,其他的就不行。到底使用什么来实现呢?这要对实际情况进行具体分析,看怎样实现方便,怎样实现高效。

原文地址:https://www.cnblogs.com/liuweilinlin/p/3348432.html