在MySQL 中查詢鎖定的表
雖然MySQL 提供了各種鎖定表的機制,但檢測由LOCK TABLE 命令專門鎖定的表可以是一個簡單的方法。解決效能瓶頸的關鍵任務。本文深入研究了一種識別鎖定表的可靠方法。
檢索鎖定表資訊
與使用 GET_LOCK 取得的命名鎖不同,使用 LOCK TABLE 鎖定的表沒有簡單的查詢機制。但是,利用 SHOW OPEN TABLES 語句提供了提取此資訊的全面解決方案。
使用 SHOW OPEN TABLES
SHOW OPEN TABLES 語句傳回有關所有開啟的詳細資訊目前資料庫連線中的資料表。這包括主動讀取或寫入的表,以及由 LOCK TABLE 鎖定的表。透過對資料表和資料庫列使用 LIKE 運算符,您可以篩選特定表和資料庫的結果。此外,In_use 欄位指示目前使用該表的並發連線數。
範例查詢
要辨識特定資料庫中鎖定的資料表,請執行下列查詢:
<code class="sql">SHOW OPEN TABLES WHERE `Table` LIKE '%[TABLE_NAME]%' AND `Database` LIKE '[DBNAME]' AND In_use > 0;</code>
將[TABLE_NAME] 替換為您要檢查的表的名稱,將[DBNAME] 替換為其所在的資料庫。此查詢將為每個符合條件的鎖定表傳回一行。
以上是MySQL中如何辨識被LOCK TABLE鎖定的表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!