12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-11-26 22:12:00
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
innodb锁个数是固定的,系统中存在的数量在初始化时就已经确定好。innobase_start_or_create_for_mysql->lock_sys_create(srv_lock_table_size)->lock_sys->rec_hash = hash_
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
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);
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19