本篇内容主要讲解“PostgreSQL中hash_search_with_hash_value函数有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL中hash_search_with_hash_value函数有什么作用”吧!BufferDesc
共享缓冲区的共享描述符(状态)数据BufferTag
Buffer tag标记了buffer存储的是磁盘中哪个blockHTAB
哈希表的顶层控制结构.FreeListData
在一个分区哈希表中,每一个空闲链表与特定的hashcodes集合相关,通过下面的FREELIST_IDX()宏进行定义.
nentries跟踪有这些hashcodes的仍存活的hashtable条目个数.BufferLookupEnthash_search_with_hash_value函数,根据给定tag和buffer ID,插入到哈希表中,如该tag相应的条目已存在,则不处理.
其主要实现逻辑如下:
1.初始化相关变量,如根据hash值获取idx等
2.如action为插入,检查是否需要分裂哈希桶
3免费主机域名.执行相关免费主机域名初始化检索,计算桶号/段号/段内编号等
4.沿着哈希键冲突链搜索匹配键,根据搜索结果给foundPtr赋值
5.根据输入action执行相应的逻辑
5.1HASH_FIND,搜索
5.2HASH_REMOVE,移除
5.3HASH_ENTER_NULL,验证分配器,转至HASH_ENTER
5.4HASH_ENTER,如找到,则返回现存的元素,否则创建一个
6.找不到,则报错,返回NULL测试脚本设置断点,跟踪输入参数1.初始化相关变量,如根据hash值获取idx等2.如action为插入,检查是否需要分裂哈希桶3.执行相关初始化检索,计算桶号/段号/段内编号等4.沿着哈希键冲突链搜索匹配键,根据搜索结果给foundPtr赋值5.根据输入action执行相应的逻辑
5.1HASH_FIND,搜索
5.2HASH_REMOVE,移除
5.3HASH_ENTER_NULL,验证分配器,转至HASH_ENTER
5.4HASH_ENTER,如找到,则返回现存的元素,否则创建一个进入get_hash_entry,如可能,分配一个新的哈希表条目.如内存溢出则返回NULL.回到hash_search_with_hash_value找到entry,返回到此,相信大家对“PostgreSQL中hash_search_with_hash_value函数有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
相关推荐: PostgreSQL12的新特性REINDEX有什么作用
这篇文章主要介绍“PostgreSQL12的新特性REINDEX有什么作用”,在日常操作中,相信很多人在PostgreSQL12的新特性REINDEX有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreSQL1…