mysql InnoDB 行鎖表鎖

來源:互聯網
上載者:User

今天大家一起閑聊說道了InnoDB引擎,他們了很多我不知道的事請,不知怎麼就料到了鎖,這個我還知道一些,就說:在myisam引擎下用到索引的前提下就會加行鎖,而且所得是索引表,不用索引的話就加表鎖。本來以為很牛,但是同時問我怎麼知道的,我說在意片部落格上看到的。話剛剛說出口我就覺得一點說服力都沒有。然後就說:我好像在mysql的協助文檔上面也看過(其實我沒看見過)。老闆說:協助文檔也不一定對,版本不一樣可能會有修改,還是試一試比較好。

確實,我想了想我所學到的這些只是估計80%都是從網上的部落格裡看來的,就算是官方文檔也可能有版本上的問題而有微小的改變。除了一些代碼,像這種知識我確實沒有時間過。先買那我就給大家實踐一下。

首先需要開啟兩個mysql的視窗

然後建立一個表 表中有兩個欄位,其中一個設為索引,另一個不設:

然後加入資料:

下面我們開啟事物然後更新大家就能明白了:

然後再在另一個視窗更新

但是呢已經死結了,跟們沒有結果知道我們在第一個視窗commit才可以

然後我們再試試更新其他的選項:

沒有問題,所以是行鎖,不是表鎖。然後我們不用id做條件試試

可見再沒有索引的前提下這是表鎖,哈哈,雖然很簡單,但是我想說的是:估計這是除了代碼外的第一次用實踐得出來的知識。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.