<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 鎖表 (Lock Table) ### 定義 在要更新資料表的資料時,`MySQL`會將表資料鎖定無法讀取,直到資料異動完畢,`MyISAM` 預設支援 `Table-level lock`,而 `InnoDB` 預設支援 `Row-level lock` ### Table-level lock 資料表資料異動時,將「`整個資料表(Table)`」都鎖定住無法讀取 ### Row-level lock 資料表資料異動時,將「`要更新的資料列(row)`」都鎖定住無法讀取 ### 注意事項 在使用 `Row-level lock` 時必需要 `明確指定要異動資料的主鍵(Primary Key)`,否則將會改用 `Table-level lock` 去做資料表的異動 ### 範例 假設有 user 資料表,裡面有 id 與 name 的欄位,id 是主鍵 | SQL | Table lock | Row lock | No lock | 備註 | |-----|-----|-----|-----|-----| | SELECT * FROM user WHERE id='1' FOR UPDATE; | - | v | - | 明確指定主鍵,並且有此筆資料,row lock | | SELECT * FROM user WHERE id='-1' FOR UPDATE; | - | - | v | 明確指定主鍵,若查無此筆資料,無 lock | | SELECT * FROM user WHERE name='KeJyun' FOR UPDATE; | v | - | - | 無主鍵,table lock | | SELECT * FROM user WHERE id<>'1' FOR UPDATE; | v | - | - | 主鍵不明確,table lock | | SELECT * FROM user WHERE id LIKE '3' FOR UPDATE; | v | - | - | 主鍵不明確,table lock | ### 備註 FOR UPDATE 僅適用於 InnoDB,且必須在交易區塊(BEGIN/COMMIT)中才能生效。 ### 參考資料 - [KeJyun學習日誌: MySQL鎖表(Lock Table)Table-level與Row-level比較](http://blog.kejyun.com/2012/12/Compare-Tabel-And-Row-Level-Lock-On-MySQL.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看