数据库相关概念
事务中的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)。总之视图的目的是用来呈现数据。
事实上,两者其内部实现是基本一样的,提供者在开发这些对象时,是针对不同目的不同应用的。
我们在使用时,同一件事情,实现的方法可以是多样的,不是说只有那者行,其他的就不行。到底使用什么来实现呢?这要对实际情况进行具体分析,看怎样实现方便,怎样实现高效。
一切源于对计算机的热爱