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


29.12.13.3 metadata_locks 資料表

MySQL 使用中繼資料鎖定來管理對資料庫物件的並行存取,並確保資料一致性;請參閱第 10.11.4 節,「中繼資料鎖定」。中繼資料鎖定不僅適用於資料表,也適用於結構描述、儲存程式(程序、函數、觸發程序、排程事件)、資料表空間、使用 GET_LOCK() 函數取得的使用者鎖定(請參閱第 14.14 節,「鎖定函數」),以及使用第 7.6.9.1 節,「鎖定服務」中所述鎖定服務取得的鎖定。

效能綱要透過 metadata_locks 資料表公開中繼資料鎖定資訊。

  • 已授與的鎖定(顯示哪些工作階段擁有哪些目前的中繼資料鎖定)。

  • 已請求但尚未授與的鎖定(顯示哪些工作階段正在等待哪些中繼資料鎖定)。

  • 已被死鎖偵測器終止的鎖定請求。

  • 已逾時且正在等待請求工作階段的鎖定請求被捨棄的鎖定請求。

此資訊可讓您了解工作階段之間的中繼資料鎖定相依性。您不僅可以查看工作階段正在等待哪個鎖定,還可以查看哪個工作階段目前持有該鎖定。

  • [mysqld]
    performance-schema-instrument='wait/lock/metadata/sql/mdl=ON'
  • [mysqld]
    performance-schema-instrument='wait/lock/metadata/sql/mdl=OFF'

  • UPDATE performance_schema.setup_instruments
    SET ENABLED = 'YES', TIMED = 'YES'
    WHERE NAME = 'wait/lock/metadata/sql/mdl';
  • UPDATE performance_schema.setup_instruments
    SET ENABLED = 'NO', TIMED = 'NO'
    WHERE NAME = 'wait/lock/metadata/sql/mdl';