以下隔离的概念:ANSI SQL中定义的4个隔离级实际上是用对锁的操作来定义的:
脏读: 读数据时不加锁。
提交读: 在读数据之前加一个读锁,读完之后释放锁。
可重复读: 在读数据之前加一个读锁,读完之后不释放锁,直到事务rollback或者commit后才释放锁。
串行化读: 在读数据之前在读取的条件上加锁(称为条件锁),读完之后不释放锁,直到事务rollback或者commit后才释放锁。
脏读、幻读及不可重复读详解:
1, 脏读
一个事务读到另一个事务尚未提交的修改,就是脏读。这里所谓的修改,除了Update操作,不要忘了,还包括Insert和Delete操作。
脏读的后果:如果后一个事务回滚,那么它所做的修改,统统都会被撤销。前一个事务读到的数据,就是垃圾数据。
举个例子:预订房间。
有一张Reservation表,往表中插入一条记录,来订购一个房间。
事务1:在Reservation表中插入一条记录,用于预订99号房间。
事务2:查询,尚未预定的房间列表,因为99号房间,已经被事务1预订。所以不在列表中。
事务1:信用卡付款。由于付款失败,导致整个事务回滚。
所以插入到Reservation 表中的记录并不置为持久(即它将被删除)。
现在99号房间则为可用。
所以,事务2所用的是一个无效的房间列表,因为99号房间,已经可用。如果它是最后一个没有被预定的房间,那么这将是一个严重的失误。
注:脏读的后果很严重。
分享到:
相关推荐
taobaoassistant_test_11_11_08_5232.exe
STM32实例程序 11.TIMx_test_通用定时器STM32实例程序 11.TIMx_test_通用定时器STM32实例程序 11.TIMx_test_通用定时器STM32实例程序 11.TIMx_test_通用定时器STM32实例程序 11.TIMx_test_通用定时器STM32实例程序 ...
RAC_System_Test_Plan_Outline_11gr2_v2_4 RAC_System_Test_Plan_Outline_11gr2_v2_4
Test Plan_2022-10-31 11_00_46.zip
test_11_07.exe
maryland battery dataset
802.11 a/b/g/n/ac Introduction &Test; Specification - 802.11b:Data rates up to 11Mbps in the 2.4GHz band.(1999) - 802.11a:Data rates up to 54Mbps in the 5GHz band.(1999) - 802.11g:Data rates up to ...
11_ddr3_test 12_flash_test 13_usb_test 14_ethernet_test 15_audio_test 16_sd_test 17_sd_audio 18_vga_test 19_vga_char 20_sd_ddr_vga 21_lcd_test 22_flash_ddr_lcd 23_ov7670_vga 24_ov7670_lcd 25_ov5640_...
eg:{"msg":"","code":0,"data":"/opt/saasUpload/HeadImage/sxn002/2019_12_17_14_44_15_015-13f1f4fb-5446-4199-9e4d-caae89b8964a-11.PNG"} 方式二: 基于 fileUpload(Apache Commons FileUpload)实现文件上传 ...
11_rom_test.zip
QuickTest Professional_PPT 11个PPT文件,Mercury公司的英文教材
test_for_test-2019.11.7.tar.gz
jpeg 编解码 arm11板,快速转换
test_01_utf8.txt
该文档是WiFi联盟认证测试规范,用于802.11n设备的认证测试。所有支持802.11n的设备均需通过该测试规范的测试。
Wi-Fi_CERTIFIED_ac_Test_Plan_v2.5.pdf,最新802.11ac协议的过认证文档。
802.11n_draft_7.0_MAC_AP_Test_Suitev1.7.pdf
csdn_dlp_test11.txt
通过调用HDMI显示模块将RGB图像数据通过ADV7511编码芯片转换为TMDS差分信号输出,实现HDMI图像显示
test_for_test-2019.11.7-py3-none-any.whl