位置: 编程技术 - 正文

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常用语句大全简书)

  • 工资表怎么导入个税系统计算个税
  • 附加税税率是多还是少
  • 支付所得税的会计处理
  • 火车票全额抵减增值税可以吗
  • 财产行为税包括资源税吗
  • 企业所得税的纳税义务人不包括下列哪类企业
  • 销售是销项税还是进项税
  • 融资租赁可以确认为资产吗
  • 基本户被冻结怎么缴投标保证金
  • 办理产权证费用明细
  • 专票入账用哪一联
  • 车间报废产品改善方式
  • 取得抵债资产的方式主要有以下几种
  • 股权转让的溢价要交什么税
  • 一般纳税人提供服务税率
  • 没有及时对公账户
  • 净资产属于政府预算会计要素吗
  • 固定资产报废需要在固定资产系统中
  • 代垫资金的代购是什么
  • 财产清查的账务处理原则
  • 鸿蒙3.0系统哪些手机可以升级
  • win11最低硬件要求几代
  • 开票税点算什么费用
  • hpcfont.dll
  • 电脑开机显示怎么取消?
  • 微信公众号实名认证怎么更改
  • php常用的魔术方法有哪些
  • 技术转让费会计处理
  • 青龙面板拉库命令
  • 跨站脚本攻击是什么
  • 现金流量表 科目
  • 残保金政策建议
  • 固定资产提前报废当月计提折旧吗
  • 物流辅助服务要办许可证吗
  • python设置断点
  • 慈善组织接受股票捐赠流程
  • 公司购买银行理财会计分录
  • 资金账簿印花税怎么算
  • 增值税的征收范围包括销售不动产
  • 交易性金融资产处置时的会计核算步骤
  • 预付账款主要核算哪些内容
  • 小规模纳税人开票限额是多少
  • 快速实现愿望超灵的方法
  • 增值税税务检查
  • 生育津贴现在可以打个人账户么
  • mysql索引命令
  • 固定资产清理残料收入
  • 研发人员的差旅费计入管理费用吗
  • 一般纳税人附加税减半征收政策2023
  • 外币支付账户
  • 转出未交增值税最终怎么转平
  • 资本公积的意思是
  • 收到客户不要的定金怎么做账?
  • 外经证先开票还是异地预缴税率
  • 商业承兑汇票提示付款流程
  • 如何购买车辆交强险保单
  • 公司的钱借给个人需要交什么税
  • 购入固定资产入账会计处理
  • 错误的英文
  • sql查询字段值为汉字的
  • centos 远程管理
  • windows7怎么禁用网络
  • win8.1无线网
  • linux ls命令什么意思
  • Linux下OpenVPN配置静态密钥(static-key)验证教程
  • ie6浏览器兼容模式怎么设置在哪里
  • unity控制
  • glib库
  • javascript create
  • 安卓app开发框架模板
  • css网站布局实录 pdf
  • cssimport
  • unity 动态生成模型
  • html5过渡的触发机制
  • 石油类资源税税率是多少
  • 增值税报表进项税和销项税都不填可以吗
  • 关于成品油的吨油换算
  • 如何在网上查看自己的征信
  • 消费税的税收筹划ppt
  • 惠州市公交车投诉平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设