文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  InnoDB 交易與鎖定資訊的持久性與一致性

17.15.2.3 InnoDB 交易與鎖定資訊的持久性與一致性

交易和鎖定資料表(INFORMATION_SCHEMA INNODB_TRX 資料表、Performance Schema data_locksdata_lock_waits 資料表)公開的資料代表快速變更資料的一瞥。這不像使用者資料表,資料僅在應用程式啟動更新時才會變更。基礎資料是內部系統管理資料,而且可能變更非常快速。

  • INNODB_TRXdata_locksdata_lock_waits 資料表之間的資料可能不一致。

    data_locksdata_lock_waits 資料表從 InnoDB 儲存引擎公開即時資料,以提供 INNODB_TRX 資料表中交易的鎖定資訊。從鎖定資料表擷取的資料會在執行 SELECT 時存在,但在用戶端使用查詢結果時可能已不存在或已變更。

    data_locksdata_lock_waits 聯結,可以顯示 data_lock_waits 中的列,這些列會識別 data_locks 中已不存在或尚未存在的父列。

  • 交易和鎖定資料表中的資料可能與 INFORMATION_SCHEMA PROCESSLIST 資料表或 Performance Schema threads 資料表中的資料不一致。

    舉例來說,當您比較 InnoDB 交易和鎖定表格中的資料,與 PROCESSLIST 表格中的資料時,應格外小心。即使您發出單一的 SELECT 查詢(例如,聯結 INNODB_TRXPROCESSLIST),這些表格的內容通常是不一致的。有可能 INNODB_TRX 參考的列在 PROCESSLIST 中不存在,或者 INNODB_TRX.TRX_QUERY 中顯示的交易當前執行 SQL 查詢,與 PROCESSLIST.INFO 中的查詢不同。