真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql的InnoDB行鎖的一點(diǎn)反思

    剛參加工作時(shí),遇到的MySQL死鎖的問(wèn)題。具體情況如下:

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、嘉峪關(guān)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為嘉峪關(guān)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

    網(wǎng)頁(yè)有個(gè)統(tǒng)計(jì)訪問(wèn)次數(shù)功能,然后這個(gè)次數(shù)num是int類型,網(wǎng)頁(yè)每次被訪問(wèn)一次就增1,然后運(yùn)營(yíng)在跑批量任務(wù)的時(shí)候,造成數(shù)據(jù)量這個(gè)字段死鎖了。然后DBA就查詢?cè)斐伤梨i的原因,最后發(fā)現(xiàn)是我的代碼造成的死鎖,然后這個(gè)鍋,我接下了。這個(gè)問(wèn)題怎么解決的,我一直沒(méi)有察覺(jué)到,因?yàn)樗麄儧](méi)有要求修改代碼。后來(lái)我一直在思考這個(gè)問(wèn)題,具體是什么原因引起的死鎖。由于無(wú)法重現(xiàn)當(dāng)時(shí)的應(yīng)用場(chǎng)景和各種服務(wù)配置,我也無(wú)法深究這個(gè)問(wèn)題。后來(lái)只能認(rèn)真的研究mysql的鎖和java的并發(fā)控制。

    N久沒(méi)有動(dòng)筆寫(xiě)文字了,表達(dá)還是有點(diǎn)問(wèn)題,等我理清思路后,再詳細(xì)寫(xiě)寫(xiě)這方面的文字,今天就簡(jiǎn)單的寫(xiě)一下mysql關(guān)于innoDb行鎖要注意的兩個(gè)地方,還有其他很多需要的地方,這里只簡(jiǎn)單記錄一下,只能叫簡(jiǎn)單記錄。

    先說(shuō)一下,innoDB行鎖的現(xiàn)實(shí)方式,它是通過(guò)給索引上的索引項(xiàng)加鎖來(lái)實(shí)現(xiàn)的。這就決定了行級(jí)鎖使用的前提是通過(guò)索引條件檢索數(shù)據(jù),否則,innoDB將使用表級(jí)鎖。第二點(diǎn)要說(shuō)的即使在條件中使用了索引字段,但是是否使用索引來(lái)檢索數(shù)據(jù)是由mysql通過(guò)判斷不同執(zhí)行計(jì)劃的代價(jià)來(lái)決定的,如果mysql任務(wù)全表掃描效率更高,它就不會(huì)使用索引,這種情況下innoDB將使用表鎖,而不是行鎖。所以在分析mysql的鎖問(wèn)題時(shí),有時(shí)候需要使用explain來(lái)檢查SQL的執(zhí)行計(jì)劃。


分享標(biāo)題:mysql的InnoDB行鎖的一點(diǎn)反思
本文網(wǎng)址:http://weahome.cn/article/popcid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部