位置: 编程技术 - 正文

SQL Server2014 哈希索引原理详解(sql hash)

编辑:rootadmin

推荐整理分享SQL Server2014 哈希索引原理详解(sql hash),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql哈希表,sql hash,sql server hash join,sql_hash_value,数据库哈希索引,数据库 哈希,数据库 哈希,sql hash,内容如对您有帮助,希望把文章链接给更多的朋友!

当一个key-value键值对传递给一个哈希函数的时候,经过哈希函数的计算之后,根据结果会把key-value键值对放在合适的hash buckets(哈希存储桶)里

举个栗子

我们假设对取模( % )就是哈希函数。如果key-value键值对的key是 ,传递到哈希函数,那么 会存放在第五个bucket里

因为5 as % = 5。

同样, 会存放在第七个bucket , 会存放在第二个bucket ,依次类推

同样,在hash index里面,哈希索引列会被传递给哈希函数做匹配(类似于java里面的HashMap的Map操作),匹配成功之后,

索引列会被存储在匹配到的hash bucket里面的表里,这个表里会有实际的数据行指针,再根据实际的数据行指针查找对应的数据行。

概括来说,要查找一行数据或者处理一个where子句,SQL Server引擎需要做下面几件事

1、根据where条件里面的参数生成合适的哈希函数

2、索引列进行匹配,匹配到对应hash bucket,找到对应hash bucket意味着也找到了对应的数据行指针(row pointer)

3、读取数据

SQL Server2014 哈希索引原理详解(sql hash)

哈希索引比起B树索引简单,因为它不需要遍历B树,所以访问速度会更快

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_a1dad8f.jpg" alt="查看图片" />

哈希函数和相应语法的例子

在SQL Server 里面,内存优化表创建完之后就不能再加哈希索引了,但是在 SQL Server 里支持表创建完之后添加哈希索引,不过

添加哈希索引是一个离线操作。

哈希索引的Bucket 数量

( BUCKET_COUNT = )定义了哈希索引能够使用的BUCKET数量,这个Bucket 是固定的并且由用户指定Bucket 数量,

而不是执行查询的时候由SQL Server决定生成的Bucket 数量。BUCKET数量总是2的次方的四舍五入( , , etc..)

SQL Server的哈希索引其实跟MySQL的自适应哈希索引原理其实差不多,都是为了摆脱B树的束缚,使查找效率更快

How does a relational database work这篇文章也有描述hash join的原理,大家可以看一下

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_a1dae.png" alt="查看图片" />

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_a1dae6be1c.png" alt="查看图片" />

非常好用的sql语句(日常整理) 1./*得到trace文件路径和名称*/SELECTd.VALUE||'/'||LOWER(RTRIM(i.INSTANCE,CHR(0)))||'_ora_'||p.spid||'.trc'trace_file_nameFROM(SELECTp.spidFROMv$mystatm,v$sessions,v$processpWHEREm.statistic#=1

安装完成后如何找回SQL Server实例安装时的序列号 当需要再次安装SQLServer时,如果序列号找不到了,可以试着从已经安装的实例里找回序列号,因为安装完SQLServer后,序列号(ProductKey)被保存在注册表里

一步步教你建立SQL数据库的表分区 直接上步骤:1)新建一个数据库2)添加几个文件组3)回到常规选项卡,添加数据库文件看到用红色框框起来的地方没上一步中建立的文件组在这里就用上了

标签: sql hash

本文链接地址:https://www.jiuchutong.com/biancheng/347397.html 转载请保留说明!

上一篇:SQLSERVER SQL性能优化技巧(sql数据库性能)

下一篇:非常好用的sql语句(日常整理)(sql常用语句大全简书)

  • 初装费包括什么
  • 代扣代缴增值税纳税义务发生时间
  • 小规模开的专票能抵扣进项税吗
  • 计提工资时金额是应发工资还是实发工资
  • 个人生产经营所得税计算器
  • 展示费是业务宣传费吗
  • 委托开发的定义
  • 企业所得税不征税收入
  • 土增税清算地下室怎么扣除
  • 工程预付款有发票怎么做凭证
  • 餐费开专票有什么影响
  • 拿票报销的交通费要交个人所得税吗
  • 旅行社代订机票可以入差旅费报销吗
  • 增值税抵扣主要用于哪些税收?
  • 小型微利企业所得税优惠政策2022
  • 2021装修法律
  • 专票地址错了可以报销吗
  • 该纳税人无发票相关信息
  • 什么叫金税四期呢?
  • 应收账款坏账准备计算表
  • 企业为员工购买团体医疗险可以全额税前扣除
  • 股东不用上班吗
  • qconsvc.exe - qconsvc是什么进程 有什么作用
  • macos使用方法
  • 城市里创业
  • 微软即将终止当前系统版本
  • 进出口企业税务怎可以查出问题
  • 企业所得税的特殊优惠
  • php身份证正则表达式
  • 把ChatGPT接入我的个人网站
  • 没有计提坏账如何披露
  • 企业所得税季度申报表怎么填
  • 购买保健食品
  • 如何移除白名单的电话号码
  • MYSQL explain 执行计划
  • 帝国cms建站实例教程
  • 固定资产货币化,货币资产保险化,保险资产信托化
  • 零售行业的销售额由什么决定
  • 工装费用制度
  • 会计处理方法是什么意思
  • 注册资本认缴与注册登记实操
  • 发票抵扣联认证完还有用吗
  • 事业单位应交增值税明细科目
  • 销售加工费怎么记账
  • 铁路运费印花税怎么算
  • 租赁公司账务科目
  • 租的办公室装修费怎么处理
  • 长期待摊费用的二级科目有哪些
  • 产品成本计算中最基本的方法是
  • 现金付给对方没写收据怎么办
  • 广告赞助的形式
  • 从增值税抵扣进项怎么算
  • 装修费摊销怎么计算公式
  • 企业为员工代缴社保怎样在网上申报
  • 公司基本户可以取现金吗
  • mysql建唯一索引
  • wp7.8升级wp8
  • os x10.11el capitan公测版beta2官方下载地址
  • win7电脑桌面图标不见了右键也没用
  • 第三方win7系统哪个最好
  • w10系统怎么压缩
  • ie10变成ie8
  • win7系统无法更改主题
  • android 开发 教程
  • cocos2d getPosition()取不到实际坐标问题
  • linux 常用命令大全及其详解
  • 什么是四个菜
  • 文件夹如何取名字
  • Unity C#用WWW操作数据库
  • 表单元素的基本语法
  • 噩梦剧情
  • python第六章函数
  • python怎么生成随机函数
  • jquery 动态添加元素
  • 江苏省国税务局严三国
  • 河北网上税务登记流程
  • 办税服务厅限时办结制度
  • 广西电子税务局电话人工客服电话
  • 火车报销凭证丢了还能退款吗
  • 耗电异常优化是什么意思微信
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设