本篇内容介绍了“InnoDB锁结构个数最大限制是多少”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
innodb锁个数是固定的,系统中存在的数量在初始化时就已经确定好。
innobase_start_or_create_for_mysql->lock_sys_create(srv_lock_table_size)->
lock_sys->rec_hash = hash_create(srv_lock_table_size);
锁都存放在锁系统的哈希表中,该哈希表最大是系统中页个数的5倍:
srv_normalize_init_values->
srv_lock_table_size = 5 * (srv_buf_pool_size / UNIV_PAGE_SIZE);
space和page_no哈希一个key值,作为数据页的锁标号,从lock_sys->rec_hash表中获取锁结构,后续页加锁时,通过lock_hash_val从lock_sys->rec_hash中获取锁指针,然后创建锁结构申请内存。
buf_page_get_gen->
block->lock_hash_val = lock_rec_hash(space, offset);
“InnoDB锁结构个数最大限制是多少”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。