10bet网址
MySQL性能模式
相关的文档10bet官方网站 下载这个摘录
PDF (Ltr)- 1.2 mb
PDF (A4)- 1.2 mb
HTML下载(TGZ)- 190.0 kb
HTML下载(邮政编码)- 208.5 kb


10.13.3 metadata_locks表

MySQL使用元数据锁管理并发访问数据库对象和确保数据一致性;看到元数据锁定。元数据锁不仅适用于表,而且模式、存储程序(过程、函数、触发器、预定事件),表空间、用户与获得的锁GET_LOCK ()函数(见锁定功能),锁了锁服务描述锁定服务

性能模式暴露通过元数据锁信息metadata_locks表:

  • 锁已经授予(显示会话的当前元数据锁)。

  • 锁已经要求但尚未授予(显示哪些会议是等待哪些元数据锁)。

  • 锁请求已经被死锁检测器。

  • 锁请求超时,正在等待请求会话锁的请求被丢弃。

这些信息使您能够理解元数据锁会话之间的依赖关系。你不仅可以看到等待锁定一个会话,但会话目前持有锁。

metadata_locks表是只读的,无法更新。它在默认情况下是autosized;配置表的大小,设置performance_schema_max_metadata_locks在服务器启动系统变量。

仪器使用元数据锁等待/锁定/ / sql / mdl元数据乐器,这是默认启用。

控制元数据锁在服务器启动时,仪表状态在你使用这样的线my.cnf文件:

  • 启用:

    (mysqld) performance-schema-instrument = '等待/锁定/元数据/ sql / mdl = '
  • 禁用:

    (mysqld) performance-schema-instrument = '等待/锁定/元数据/ sql / mdl =了'

控制在运行时元数据锁仪器状态,更新setup_instruments表:

  • 启用:

    更新performance_schema。setup_instrumentsSET ENABLED = 'YES', TIMED = 'YES' WHERE NAME = 'wait/lock/metadata/sql/mdl';
  • 禁用:

    更新performance_schema。setup_instrumentsSET ENABLED = 'NO', TIMED = 'NO' WHERE NAME = 'wait/lock/metadata/sql/mdl';

性能模式维护metadata_locks表内容如下,使用LOCK_STATUS列显示每个锁的状态:

  • 当一个元数据锁请求,并立即获得,一行的状态授予被插入。

  • 当一个元数据锁请求,而不是立即获得,一行的状态等待被插入。

  • 当请求元数据锁之前,它的行状态更新授予

  • 当一个元数据锁被释放时,它的行被删除。

  • 当等待锁请求取消死锁检测器来打破僵局(ER_LOCK_DEADLOCK),它的行状态更新等待受害者

  • 当等待锁请求超时(ER_LOCK_WAIT_TIMEOUT),它的行状态更新等待超时

  • 当授予锁或等待锁请求死亡,其行状态更新授予等待杀了

  • 受害者,超时,杀了状态值是短暂和表明锁行即将被删除。

  • PRE_ACQUIRE_NOTIFYPOST_RELEASE_NOTIFY状态值是短暂和表示元数据锁定subsubsystem通知感兴趣的存储引擎,而进入锁获取操作或离开锁释放操作。

metadata_locks表有这些列:

  • OBJECT_TYPE

    锁的类型中使用元数据锁子系统。是价值全球,模式,,函数,过程,触发(目前未使用),事件,提交,用户级锁,表空间,或锁定服务

    的值用户级锁显示一个锁了GET_LOCK ()。的值锁定服务显示一个锁获得的锁定服务描述锁定服务

  • OBJECT_SCHEMA

    模式包含对象。

  • OBJECT_NAME

    检测对象的名称。

  • OBJECT_INSTANCE_BEGIN

    检测对象的内存地址。

  • LOCK_TYPE

    元数据锁的锁类型子系统。是价值INTENTION_EXCLUSIVE,共享,SHARED_HIGH_PRIO,SHARED_READ,SHARED_WRITE,SHARED_UPGRADABLE,SHARED_NO_WRITE,SHARED_NO_READ_WRITE,或独家

  • LOCK_DURATION

    锁的持续时间从元数据锁子系统。是价值声明,事务,或显式的。的声明事务值表示锁隐式声明或事务结束时发布。的显式的值意味着锁生存发布的声明或事务,明确的行动,比如全球锁了刷新表读锁

  • LOCK_STATUS

    锁锁子系统状态的元数据。是价值等待,授予,受害者,超时,杀了,PRE_ACQUIRE_NOTIFY,或POST_RELEASE_NOTIFY。性能模式如前所述指定这些值。

  • 源文件的名称包含的代码产生的事件和文件中的行号的仪器。这使您能够检查源确定什么代码。

  • OWNER_THREAD_ID

    线程请求元数据锁。

  • OWNER_EVENT_ID

    事件请求元数据锁。

metadata_locks这些索引表有:

  • 主键(OBJECT_INSTANCE_BEGIN)

  • 指数(OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME)

  • 指数(OWNER_THREAD_ID,OWNER_EVENT_ID)

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