Performance Schema Lock Tables record are shown for a lock placed on the primary key index. Secondary index values of the locked record are shown with primary key values appended for a lock placed on a secondary index. If there is no primary key,  LOCK_DATA  shows either the key values of a selected unique index or the unique InnoDB  internal row ID number, according to the rules governing  InnoDB  clustered index use (see Section 15.6.2.1, “Clustered and Secondary Indexes” ).  LOCK_DATA  reports “supremum pseudo-record” for a lock taken on a supremum pseudo-record. If the page containing the locked record is not in the buffer pool because it was written to disk while the lock was held,  InnoDB  does not fetch the page from disk. Instead,  LOCK_DATA  reports  NULL . The  data_locks  table has these indexes: •Primary key on ( ENGINE_LOCK_ID ,  ENGINE ) •Index on ( ENGINE_TRANSACTION_ID ,  ENGINE ) •Index on ( THREAD_ID ,  EVENT_ID ) •Index on ( OBJECT_SCHEMA ,  OBJECT_NAME ,  PARTITION_NAME ,  SUBPARTITION_NAME ) TRUNCATE TABLE  is not permitted for the  data_locks  table. The  data_lock_waits  table implements a many-to-many relationship showing which data lock requests in the  data_locks  table are blocked by which held data locks in the  data_locks  table. Held locks in data_locks  appear in  data_lock_waits  only if they block some lock request. This information enables you to understand data lock dependencies between sessions. The table exposes not only which lock a session or transaction is waiting for, but which session or transaction currently holds that lock. 27.12.13.2 The data_lock_waits Table Example data lock wait information: mysql>  SELECT * FROM performance_schema.data_lock_waits\G *************************** 1. row *************************** ENGINE: INNODB REQUESTING_ENGINE_LOCK_ID: 140211201964816:2:4:2:140211086465800 REQUESTING_ENGINE_TRANSACTION_ID: 1555 REQUESTING_THREAD_ID: 47 REQUESTING_EVENT_ID: 5 REQUESTING_OBJECT_INSTANCE_BEGIN: 140211086465800 BLOCKING_ENGINE_LOCK_ID: 140211201963888:2:4:2:140211086459880 BLOCKING_ENGINE_TRANSACTION_ID: 1554 BLOCKING_THREAD_ID: 46 BLOCKING_EVENT_ID: 12 BLOCKING_OBJECT_INSTANCE_BEGIN: 140211086459880 Unlike most Performance Schema data collection, there are no instruments for controlling whether data lock information is collected or system variables for controlling data lock table sizes. The Performance Schema collects information that is already available in the server, so there is no memory or CPU overhead to generate this information or need for parameters that control its collection. Use the  data_lock_waits  table to help diagnose performance problems that occur during times of heavy concurrent load. For  InnoDB , see the discussion of this topic at Section 15.15.2, “InnoDB INFORMATION_SCHEMA Transaction and Locking Information” . Because the columns in the  data_lock_waits  table are similar to those in the  data_locks  table, the column descriptions here are abbreviated. For more detailed column descriptions, see Section 27.12.13.1, “The data_locks Table” . 5025