MySQL進階-鎖機制

來源:互聯網
上載者:User

標籤:帶來   釋放   分類   innodb   其他   交易處理   沒有   問題   isa   

一、概述

  1、定義

    

  2、鎖的分類

    ①從對資料操作的類型(讀\寫)分

      讀鎖(共用鎖定):針對同一份資料,多個讀操作可以同時進行而不會互相影響。

      寫鎖(排它鎖):當前寫操作沒有完成前,它會阻斷其他寫鎖和讀鎖。

    ②從對資料操作的粒度分 

      表鎖

      行鎖 

 

二、三鎖

  1、表鎖(偏讀)

      特點:偏向MyISM儲存引擎,開銷小,加鎖塊;無死結;鎖定粒度大,發生鎖衝突的機率最高,並發度最低。

      案例分析:

        建表:

          

        手動增加表鎖:

          

        手動釋放表:

          unlock tables;

        查看錶狀態命令:

          show open tables;

        過程:

          

          

          

          

          

          

          

      結論:

        

        

      表鎖分析:

        

         

  2、行鎖(偏寫)

    特點:

      偏向InnoDB儲存引擎,開銷大,加鎖慢;會出現死結;鎖定粒度小,發生鎖衝突的機率最低,並發度最高。

      InnoDB與MyISAM最大不不同有兩點,一是支援事務,二是採用了行級鎖。

    由於行鎖支援事物:

      事務(Transaction)及其ACID屬性:

        

 

      並發交易處理帶來的問題:

        更新丟失(Lost Update):

          

        髒讀(Dirty Reads):

          

        不可重複讀取(Non-Repeatable):

          

        幻讀(Phantom Reads):

          

      事務的隔離等級:

        

    間隙鎖:

      

    如何鎖定一行:

      

      結論:

        

    行鎖總結:

      

      

    最佳化建議:

      

  3、頁鎖

    

 

   

MySQL進階-鎖機制

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.