10bet网址
MySQL性能模式
相关的文档10bet官方网站 下载这个摘录
PDF (Ltr)- 1.2 mb
PDF (A4)- 1.2 mb


10.13.2 data_lock_waits表

data_lock_waits表实现多对多关系数据锁请求的显示data_locks举行数据表被锁的data_locks表。锁在data_locks出现在data_lock_waits只有当他们阻止一些锁请求。

这些信息使您能够理解数据锁定会话之间的依赖关系。表公开不仅锁等待会话或事务,但会话或事务目前持有锁。

示例数据锁等待信息:

从performance_schema mysql > SELECT *。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

与大多数性能模式数据收集,没有仪器控制数据锁信息收集或系统变量控制数据锁表大小。性能模式收集信息,已经可以在服务器中,所以没有内存或CPU开销为参数,生成这些信息或需要控制它的集合。

使用data_lock_waits表来帮助诊断性能问题发生时的并发负载。为InnoDB看到这个话题的讨论InnoDB INFORMATION_SCHEMA事务和锁信息

因为列data_lock_waits表中类似data_locks表,列描述以下缩写。更详细的列描述,看到部分10.13.1,“data_locks表”

data_lock_waits表有这些列:

  • 引擎

    请求锁的存储引擎。

  • REQUESTING_ENGINE_LOCK_ID

    锁的ID所要求的存储引擎。获取锁的详细信息,加入这一列的ENGINE_LOCK_ID列的data_locks表。

  • REQUESTING_ENGINE_TRANSACTION_ID

    存储引擎的内部ID请求锁的事务。

  • REQUESTING_THREAD_ID

    会话的线程ID请求锁。

  • REQUESTING_EVENT_ID

    性能模式事件导致锁请求的会话请求锁。

  • REQUESTING_OBJECT_INSTANCE_BEGIN

    地址的内存请求锁。

  • BLOCKING_ENGINE_LOCK_ID

    锁阻塞的ID。获取锁的详细信息,加入这一列的ENGINE_LOCK_ID列的data_locks表。

  • BLOCKING_ENGINE_TRANSACTION_ID

    存储引擎内部的事务ID阻塞锁。

  • BLOCKING_THREAD_ID

    会话的线程ID包含阻塞锁。

  • BLOCKING_EVENT_ID

    性能模式事件导致阻塞锁在会话中保存。

  • BLOCKING_OBJECT_INSTANCE_BEGIN

    的地址在内存中阻塞锁。

data_lock_waits这些索引表有:

  • 指数(REQUESTING_ENGINE_LOCK_ID,引擎)

  • 指数(BLOCKING_ENGINE_LOCK_ID,引擎)

  • 指数(REQUESTING_ENGINE_TRANSACTION_ID,引擎)

  • 指数(BLOCKING_ENGINE_TRANSACTION_ID,引擎)

  • 指数(REQUESTING_THREAD_ID,REQUESTING_EVENT_ID)

  • 指数(BLOCKING_THREAD_ID,BLOCKING_EVENT_ID)

截断表是不允许的吗data_lock_waits表。

请注意

MySQL 8.0.1之前,类似于性能模式的信息data_lock_waits桌子是可用的INFORMATION_SCHEMA.INNODB_LOCK_WAITS表,它提供了信息封锁InnoDB事务,表明锁请求和任何锁阻塞,请求。INFORMATION_SCHEMA.INNODB_LOCK_WAITS弃用和MySQL 8.0.1中删除。data_lock_waits应该使用。

中不同的表特权要求:INNODB_LOCK_WAITS表需要全球过程特权。的data_lock_waits表需要通常的表现模式的特权选择桌子上的选择。

下面的表显示了映射INNODB_LOCK_WAITSdata_lock_waits列。使用此信息来将应用程序从一个表迁移到另一个。

表10.5 INNODB_LOCK_WAITS data_lock_waits列的映射

INNODB_LOCK_WAITS列 data_lock_waits列
REQUESTING_TRX_ID REQUESTING_ENGINE_TRANSACTION_ID
REQUESTED_LOCK_ID REQUESTING_ENGINE_LOCK_ID
BLOCKING_TRX_ID BLOCKING_ENGINE_TRANSACTION_ID
BLOCKING_LOCK_ID BLOCKING_ENGINE_LOCK_ID