The data_lock_waits  table has these columns: 

• ENGINE 

The storage engine that requested the lock. 

• REQUESTING_ENGINE_LOCK_ID 

The ID of the lock requested by the storage engine. To obtain details about the lock, join this column with the ENGINE_LOCK_ID  column of the data_locks  table. 

• REQUESTING_ENGINE_TRANSACTION_ID 

The storage engine internal ID of the transaction that requested the lock. 

• REQUESTING_THREAD_ID 

The thread ID of the session that requested the lock. 

• REQUESTING_EVENT_ID 

The Performance Schema event that caused the lock request in the session that requested the lock. 

• REQUESTING_OBJECT_INSTANCE_BEGIN 

The address in memory of the requested lock. 

• BLOCKING_ENGINE_LOCK_ID 

The ID of the blocking lock. To obtain details about the lock, join this column with the ENGINE_LOCK_ID column of the data_locks  table. 

• BLOCKING_ENGINE_TRANSACTION_ID 

The storage engine internal ID of the transaction that holds the blocking lock. 

• BLOCKING_THREAD_ID 

The thread ID of the session that holds the blocking lock. 

• BLOCKING_EVENT_ID 

The Performance Schema event that caused the blocking lock in the session that holds it. 

• BLOCKING_OBJECT_INSTANCE_BEGIN 

The address in memory of the blocking lock. 

The data_lock_waits  table has these indexes: 

•Index on ( REQUESTING_ENGINE_LOCK_ID , ENGINE ) 

•Index on ( BLOCKING_ENGINE_LOCK_ID , ENGINE ) 

•Index on ( REQUESTING_ENGINE_TRANSACTION_ID , ENGINE ) 

•Index on ( BLOCKING_ENGINE_TRANSACTION_ID , ENGINE ) 

•Index on ( REQUESTING_THREAD_ID , REQUESTING_EVENT_ID ) 

