事物和锁

简介:数据库提供了多种保持数据完整性的保证机制,如约束,触发器,事物和锁管理等

           事物管理:保证一批相关数据库中数据操作能全部被完成,从而保证数据的完整性

           锁管理:执行多个活动事物的并发控制

---------------------------------------------------------------------------------------------------------------------

事务的属性:ACID

                      原子性,一致性,隔离性,持久性


保存点

              savepoint   aa;

              rollback to aa;

---------------------------------------------------------------------------------------------------------------------

:不使用锁会出现   脏读,幻读,不可重复读等问题


锁的分类

                数据锁:DML锁   保护数据的完整性

                字典锁:DDL锁    保护数据库对象的结构

                内部锁和闩:保护内部数据库机构

                分布式锁并行高速缓存管理锁:用户OPS(并行服务器)中



数据锁分类

共享锁(S锁):

                排他锁(X):

                行级锁(RS):

                行级排他锁(RX):

                共享行级排他锁(SRX):

---------------------------------------------------------------------------------------------------------------------


死锁的原因:

                   请求与保持条件:获取资源的进程可以同时申请新的资源

                    非剥夺条件:已经分配的资源不能从该进程中剥夺

                    循环等待条件:多个进程构成环路,并且其中每个进程都在等待相邻进程正占用的资源

                    互斥条件:资源只能被一个进程使用


会造成死锁的资源

                              锁:等待获取资源的锁

                              工作线程:等待可用工作线程

                              内存:并发请求等待获得内存

                              并行查询执行的相关资源


减少死锁的策略:

                            在所有事务中以相同的次序使用资源

                            让事务尽可能简短并且在一个批处理中

                            为死锁超时参数设置一个合理范围,超时则自动放弃本次操作

                            避免在事务内和用户进行交互,减少资源的锁定时间

你可能感兴趣的:(数据库基础)