开发者社区 问答 正文

MDL的锁对象是如何唯一标识的?

MDL的锁对象是如何唯一标识的?

展开
收起
不吃核桃 2024-08-05 23:07:17 46 分享 版权
2 条回答
写回答
取消 提交回答
  • MDL的锁对象是通过键值对(key-value)的方式唯一标识的,其中key由MDL_key表示,它是一个字符串,包含了命名空间和按层次每一级的名称。命名空间包括GLOBAL、SCHEMA、TABLE等,对象名称则根据类型由多个层次组成,如数据库名和表名,名称之间用'\0'分隔。

    2024-08-06 08:10:53
    赞同 展开评论
  • MDL 的对象是采用键值对(key-value)的方式描述的,每一个 key 值都唯一的代表了锁的对象(value 代表数据库的某种资源)。key 是由 MDL_key 表示的,用字符串的形式表示了对象的名称。
    完整的字符串由 namespace、按层次每一级的名称组成,多种命名空间可以将不同类型的同名对象区分开。命名空间包括 GLOBAL、SCHEMA、TABLE、FUNCTION、PROCEDURE 等数据库中可以创建的不同对象类型组成。

    ——参考链接

    2024-08-06 08:12:03
    赞同 2 展开评论
问答地址: