交易和鎖定資料表(INFORMATION_SCHEMA
INNODB_TRX
資料表、Performance Schema data_locks
和 data_lock_waits
資料表)公開的資料代表快速變更資料的一瞥。這不像使用者資料表,資料僅在應用程式啟動更新時才會變更。基礎資料是內部系統管理資料,而且可能變更非常快速。
INNODB_TRX
、data_locks
和data_lock_waits
資料表之間的資料可能不一致。data_locks
和data_lock_waits
資料表從InnoDB
儲存引擎公開即時資料,以提供INNODB_TRX
資料表中交易的鎖定資訊。從鎖定資料表擷取的資料會在執行SELECT
時存在,但在用戶端使用查詢結果時可能已不存在或已變更。將
data_locks
與data_lock_waits
聯結,可以顯示data_lock_waits
中的列,這些列會識別data_locks
中已不存在或尚未存在的父列。交易和鎖定資料表中的資料可能與
INFORMATION_SCHEMA
PROCESSLIST
資料表或 Performance Schemathreads
資料表中的資料不一致。舉例來說,當您比較
InnoDB
交易和鎖定表格中的資料,與PROCESSLIST
表格中的資料時,應格外小心。即使您發出單一的SELECT
查詢(例如,聯結INNODB_TRX
和PROCESSLIST
),這些表格的內容通常是不一致的。有可能INNODB_TRX
參考的列在PROCESSLIST
中不存在,或者INNODB_TRX.TRX_QUERY
中顯示的交易當前執行 SQL 查詢,與PROCESSLIST.INFO
中的查詢不同。