store_lock |
發(fā)布時間: 2012/8/22 18:15:50 |
目的創(chuàng)建和釋放表鎖定。 概要
描述這是store_lock方法。
下面介紹了關(guān)于handler::store_lock()的概念: 該語句決定了在表上需要何種鎖定。對于updates/deletes/inserts,我們得到WRITE鎖定;對于SELECT...,我們得到讀鎖定。
將鎖定添加到表鎖定處理程序之前(請參見thr_lock.c),mysqld將用請求的鎖定調(diào)用存儲鎖定。目前,存儲鎖定能將寫鎖定更改為讀鎖定(或某些其他鎖定),忽略鎖定(如果不打算使用MySQL表鎖定),或為很多表添加鎖定(就像使用MERGE處理程序時那樣)。
例如,Berkeley DB能夠?qū)⑺械?span style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">WRITE鎖定更改為TL_WRITE_ALLOW_WRITE(表明正在執(zhí)行WRITES操作,但我們?nèi)栽试S其他人執(zhí)行操作)。
釋放鎖定時,也將調(diào)用store_lock()。在這種情況下,通常不需要作任何事。 電腦學(xué)習(xí)網(wǎng)站www.boydavid.com 在某些特殊情況下,MySQL可能會發(fā)送對TL_IGNORE的請求。這意味著我們正在請求與上次相同的鎖定,這也應(yīng)被忽略(當(dāng)我們打開了表的某一部分時,如果其他人執(zhí)行了表刷新操作,就會出現(xiàn)該情況,此時,mysqld將關(guān)閉并再次打開表,然后獲取與上次相同的鎖定)。我們打算在將來刪除該特性。
由get_lock_data()從lock.cc中調(diào)用。 參數(shù)
返回值無返回值。
用法下述示例取自ARCHIVE存儲引擎: 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |