事物和锁

    xiaoxiao2025-04-01  11

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

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

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

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

    事务的属性:ACID

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

    保存点:

                  savepoint   aa;

                  rollback to aa;

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

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

    锁的分类:

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

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

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

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

    数据锁分类:

    共享锁(S锁):

                    排他锁(X):

                    行级锁(RS):

                    行级排他锁(RX):

                    共享行级排他锁(SRX):

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

    死锁的原因:

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

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

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

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

    会造成死锁的资源:

                                  锁:等待获取资源的锁

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

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

                                  并行查询执行的相关资源:

    减少死锁的策略:

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

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

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

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

    转载请注明原文地址: https://ju.6miu.com/read-1297604.html
    最新回复(0)