第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

mysql鎖及四種事務(wù)隔離級(jí)別筆記

標(biāo)簽:
MySQL
前言
  • 数据库是一个共享资源,为了充分利用数据库资源,发挥数据
    库共享资源的特点,应该允许多个用户并行地存取数据库。但这样就会产生多个用户程序并
    发存取同一数据的情况,为了避免破坏一致性,所以必须提供并发控制机制。

  • 并发控制是以事务(transaction)为单位进行的。

什么时候表锁什么时候行锁?
  • 行锁是指的innodb引擎,只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁。
查看表锁
#查看是否有锁表的情况
show OPEN TABLES where In_use > 0;

#拼接hyq用户的kill语句,谨慎执行。
select  concat('KILL ',id,';') from
information_schema.processlist where user='hyq';

#查看当前的事务
SELECT * FROM information_schema.innodb_trx;
#查看当前锁定的事务
SELECT * FROM information_schema.innodb_locks;
#查看当前等锁的事务
SELECT * FROM information_schema.innodb_lock_waits;
查看行锁
SHOW STATUS LIKE 'innodb_row_lock%';
四种事务隔离级别
  • 一个事务对某个数据对象加锁后究竞拥有什么样控制是由封锁类型决定的,基本的锁有两种,排它锁(写锁、X锁),共享锁(读锁、S锁)。两者的相容关系如下:

file

例子:

file

未提交读(Read uncommitted)
  • 未提交读是数据库事务隔离级别中最低的一种,在这种级别下,一个事务会读到另一个事务更新后但未提交的数据,如果事务1 rollback后,那么事务2读取的数据就是脏数据,简称脏读。
    file
已提交读(Read Committed)
  • 只能读取到已经提交的数据。在事务1内,多次读同一数据,在这个事务还没有结束时,如果事务2恰好修改了这个数据,那么,在事务1中,两次读取的数据就可能不一致。也就是说的不可重复读的问题。如下:

file

可重复读(Repeated Read)
  • 可重复读就是多次读取的结果都一直,而不可重复读是指,在一个事务内,多次读同一数据,在这个事务还没有结束时,如果另一个事务恰好修改了这个数据,那么,在第一个事务中,两次读取的数据就可能不一致。在这种情况下可能会遇到幻读的问题如下:

file

可串行化(Serializable )
  • 可串行性是并行调度正确性的唯一准则,所有事务按照次序依次执行,因此,脏读、不可重复读、幻读都不会出现。
    为保证并行调度可串行性而提供的封锁协议。因此我们可以得出如下结论:这个事务级别的,其并行执行的结果一定是正确的,但是呢,由于串行执行,大大降低了并行度,所以一般不使用它。
    file
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消