亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Mysql 事務(wù)問(wèn)題

瀏覽:108日期:2022-06-16 14:43:20

問(wèn)題描述

使用事務(wù)

SET AUTOCOMMIT=0; BEGIN WORK; SELECT quantity FROM products WHERE id=3 FOR UPDATE;UPDATE products SET quantity = ’1’ WHERE id=3 ; COMMIT WORK;

不使用事務(wù)

SELECT quantity FROM products WHERE id=3 FOR UPDATE;UPDATE products SET quantity = ’1’ WHERE id=3 ;

好像都是可以實(shí)現(xiàn)鎖表的效果,避免臟讀

問(wèn)題:

使用“for update” 是否一定要開(kāi)啟事務(wù)?

如果都可以使用,加上事務(wù)有什么優(yōu)勢(shì)嗎?

問(wèn)題解答

回答1:

首先,你要明白FOR UPDATE是什么意思,鎖行

使用 FOR UPDATE 必須使用事務(wù),因?yàn)椴皇褂檬聞?wù)這句話(huà)近似于沒(méi)有FOR UPDATE

因?yàn)樵谑聞?wù)中使用了 FOR UPDATE后, 在COMMIT/ROLLBACK之前,

其他會(huì)話(huà)如果讀取到這個(gè)id=3這行會(huì)一直等待,等待你的事務(wù)結(jié)束,并讀取新的行

其次 FOR UPDATE 最好用在 id = xx 或 id in (xx,xx) 不然數(shù)據(jù)庫(kù)會(huì)降級(jí)為鎖表

你談到的臟讀的問(wèn)題,你用兩個(gè)mysql -u root做一下實(shí)驗(yàn),同時(shí)請(qǐng)求,沒(méi)有for update的情況數(shù)據(jù)肯定是有問(wèn)題的

事務(wù)的有如下作用

將很多語(yǔ)句一起運(yùn)行,如果中間有失敗,全部都回滾

在沒(méi)Commit之前,所有語(yǔ)句都運(yùn)行在內(nèi)存中。所以程序中可以根據(jù)內(nèi)存中返回的計(jì)算結(jié)果決定是否回滾、提交,這樣就不會(huì)傷害真正的數(shù)據(jù)庫(kù)

鎖表、鎖行

鎖行是非常強(qiáng)大的事務(wù),比如鎖住某商品的庫(kù)存那行,這對(duì)電商極為重要。

回答2:

加上事務(wù),可以避免幻讀

相關(guān)文章:
主站蜘蛛池模板: 成人亚洲在线观看 | 淫婷婷 | 国产精品久久久久久福利 | 精品视频一区二区三区 | 草久久网 | 亚洲国产欧美在线观看 | 欧美日本高清 | 香蕉网站狼人久久五月亭亭 | 日韩免费片 | 九九在线精品视频播放 | 国产精品久久久久无毒 | 国产精品久久久久久一区二区三区 | 黄色一级视频片 | 精品国产成人三级在线观看 | 国产xxwwxxww视频 | 六月丁香啪啪六月激情 | 久久久久777777人人人视频 | 国产成人精品久久一区二区三区 | 黄色网址在线免费播放 | 久久95 | 999热成人精品国产免 | a级国产乱理片在线观看 | 成人网mm视频在线观看 | 一级特黄国产高清毛片97看片 | 亚州一级毛片 | 久久久久久久久综合影视网 | 精品亚洲视频在线 | 大美女久久久久久j久久 | 国产大尺度福利视频在线 | 成人免费看黄页网址大全 | 国产精品久久久久久吹潮 | 国产亚洲精品久久久久久久 | 亚洲男女视频 | 国产成人精品高清在线 | 狠狠色丁香九九婷婷综合五月 | 精品国产一区二区三区香蕉沈先生 | 手机国产精品一区二区 | 亚洲18色| 美国一级毛片视频 | 在线视频综合视频免费观看 | 国产精品性视频免费播放 |