SQL Server的四种隔离级别知识点

本文详细解释了SQL四种隔离级别的概念及应用场景,包括未提交读(脏读)、提交读、重复读以及幻读,并通过示例说明如何设置不同的隔离级别来避免数据一致性问题。

未提交读READ UNCOMMITTED(脏读)

包含未提交数据的读。例如,在多用户环境下,用户B更改了某行。用户A在用户B提交更改之前读取已更改的行。如果此时用户B再回滚更改,则用户A便读取了逻辑上从未存在过的行。

  1. 用户B:
    BEGIN TRAN
    UPDATE test SET age=25 WHERE name = ‘AA’
  2. 用户A:
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED(此句不写即默认为READ COMMITTED模式)
    SELECT * FROM test(此时将查到AA的age值为25)
  3. 用户B:
    ROLLBACK(此时撤消了步骤1的UPDATE操作,则用户A读到的错误数据被称为脏读)

提交读(READ COMMITTED)

指定在读取数据时控制共享锁以避免脏读。此隔离等级的主要作用是避免脏读。

  1. 用户B:
    BEGIN TRAN
    UPDATE test SET age=25 WHERE name = ‘AA’
  2. 用户A:
    SET TRANSACTION ISOLATION LEVEL READ COMMITTED
    SELECT * FROM test (上句设置了提交读模式,则此时将会查不到数据,显示查询等待中,直到用户B进行了ROLLBACK或者COMMIT操作后,此语句才会生效)

不一致的读REPEATABLE READ(重复读)

在多用户环境下,用户A开了一个事务,并且先对test表的某条记录做了查询(select * from test where name = ‘AA’),接着用户B对test表做了更新并提交(update test set age=25 where name=’AA’),这时A再去查test表中的这条记录,第一次读到的age值为12,第二次为25,两次读到的数据不一样,称之为重复读。

在用户A的事务运行之前,先设定SQL的隔离等级为REPEATABLE READ
SQL语句为SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
这样在上图第一步中,用户A查询完之后,用户B将无法更新用户A所查询到的数据集中的任何数据(但是可以更新、插入和删除用户A查询到的数据集之外的数据),直到用户A事务结束才可以进行更新,这样就有效的防止了用户在同一个事务中读取到不一致的数据。

幻读(SERIALIZABLE)

在多用户环境下,用户A开启了一个事务,并查询test表中的所有记录,然后用户B在自己的事务中插入(或删除)了test表中的一条记录并提交事务,此时用户A再去执行前面的查询整张表记录的操作,结果会多出(少了)一条记录,此操作称之为幻象。

在用户A的事务运行之前,先设定SQL的隔离等级为SERIALIZABLE
语句为SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
这样在用户A的事务执行过程中,别的用户都将无法对任何数据进行更新、插入和删除的操作,直到用户A的事务回滚或者提交为止。这是四个隔离级别中限制最大的级别。因为并发级别较低,所以应只在必要时才使用该选项。

医疗用品目标检测数据集一、基础信息数据集名称:医疗用品目标检测数据集图片数量:- 训练集:4,550张图片- 验证集:714张图片- 测试集:368张图片分类类别:- 医疗防护类:mask(口罩)、glove(手套)、shoe cover(鞋套)- 医疗耗材类:cotton wool(棉球)、gauze(纱布)、syringe(注射器)、test tube(试管)- 医疗器械类:glasstupe1(玻璃试管1型)、glasstupe2(玻璃试管2型)、syringe_packaging(注射器包装)- 废弃物类:urine bag(尿袋)、pet_bottle(塑料瓶)、paper cup(纸杯)- 其他辅助类:abeslang(压舌板)、aid(急救用品)、pest control(虫害控制物品)标注格式:YOLO格式,包含边界框和类别标签,适用于目标检测任务。二、适用场景医疗用品智能管理:支持医院和实验室开发医疗耗材库存管理系统,通过视觉识别自动追踪物品使用情况。手术室流程优化:用于手术器械实时检测,辅助医护人员快速定位所需工具,提升手术效率。医疗废弃物分类:可训练AI模型识别废弃物类别(如针头、塑料瓶),助力自动化垃圾分类系统开发。远程医疗辅助:集成至医疗咨询平台,通过图片识别自动分析患者上传的医疗用品信息。医疗培训教学:作为医学教学工具,帮助学员快速掌握各类医疗用品的视觉特征。三、数据集优势场景覆盖全面:包含15类医疗场景高频物品,涵盖防护、耗材、器械、废弃物等全流程医疗用品。标注专业化:标签定义严格遵循医疗行业标准,边界框精准匹配物体实际使用状态(如注射器包装完整性)。数据规模突出:总计5,632张图片,满足工业级模型训练需求,支持复杂场景下的泛化能力提升。任务适配性强:可直接用于YOLO系列模
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值