事務獲取鎖,以防止併發事務修改甚至讀取某些行或行範圍。這樣做是為了確保併發寫入操作不會衝突。兩種標準的行級鎖是共享鎖(s)和排他鎖(x)
獲取共享鎖以讀取行,並允許其他事務讀取鎖定的行,但不能寫入鎖定的行。其他事務也可能獲取自己的共享鎖。
獲得排他鎖以寫入一行,並阻止其他事務鎖定同一行。它的具體行為取決於隔離級別;預設值(repeatable read可重複讀),允許其他事務從排他鎖定的行讀取。
innodb還允許表鎖定,並允許表和行級別的鎖定優雅地共存,存在一系列稱為意圖鎖的鎖。
意向共享鎖(is)表示事務打算設定共享鎖。
意向排他鎖(ix)表示事務打算設定排他鎖。
是否授予鎖定可以總結如下:
使用innodb_locks_unsafe_for_binlog的預設設定和預設隔離級別repeatable read,將使用一種稱為間隙鎖定的方法。當innodb在記錄上設定共享或排他鎖時,它實際上在索引記錄上。記錄將具有內部innodb索引,即使它們沒有定義唯一索引也是如此。同時,在索引記錄之前的間隙上保持了鎖定,因此另乙個事務無法在該記錄與先前記錄之間的間隙中插入新的索引記錄。
間隙可以是乙個索引值,也可以是多個索引值,或者根本不存在,這取決於索引的內容。如果一條語句使用唯一索引的所有列來搜尋唯一行,則不使用間隙鎖定。
類似於上述共享和排他意圖鎖,可以有多種型別的間隙鎖。這些包括共享間隙鎖,排他間隙鎖,意圖共享間隙鎖和意圖排他間隙鎖。
如果設定了innodb_locks_unsafe_for_binlog系統變數,或者隔離級別設定為read committed,則禁用間隙鎖。
Android基本Http基本通訊
關於http通訊的其實自己也不是很懂,就是略微知道一些基本的通訊方法 方法1 建立http 客戶端 httpentity entity response.getentity 得到http的內容 response.getstatusline getstatuscode 得到http的狀態返回值 res...
基本形狀 基本 SVG 文件 2
定義和組 如前一頁中定義的多邊形和漸變,預定義項的實際用法通常有兩種形式。在這兩種形式下,定義的項都通過其本地 url 或 uri 引用。象 html 頁面一樣,id 屬性建立了文件中的乙個引用點。舉例說來,這意味著 uri irisgradient 引用標識為 irisgradient 的文件部分...
EMD方法基本基本知識
emd 經驗模態分解 empirical mode decomposition,簡稱emd 方法被認為是2000年來以傅利葉變換為基礎的線性和穩態頻譜分析的乙個重大突破,該方法是依據資料自身的時間尺度特徵來進行訊號分解,無須預先設定任何基函式。這一點與建立在先驗性的諧波基函式和小波基函式上的傅利葉分...