sql server中的hash应用优化
sql server很多地方用到hash,计划缓存查找,hash连接,hash聚合等。
hash查找mssql很多设计中都应用了,不过我们能在开发设计中,也可以利用这个特性。
将如果有需求对大文本进行完全匹配,比如查找产品型号(较长字符串),那么可以建立一个产品型号的hash字段,然后在hash字段上进行查找,不过最重要的是如果匹配成功,还不要忘记在where上再加一个条件,就是原始产品型号字段的一致,因为存在极为渺小的可能不同文本能整成一个hash。
hash连接方面,mssql一般都是对于超大数据集而言,对于hash连接的优化,需要区分连接的大小表,以确定构建表和探索表,由于构建表先行,而且hash连接都是超大表的连接,所以需要特别节省内存,在hash节省内存方面的优化,主要是对于查询树的形状进行规划,左深度,右深度,浓密度,有时候需要强制定位hash顺序,指定构建表,有时候需要跟踪是不是会被交换到虚拟文件上,这就需要跟踪救助算法。还有如果连接字段需要查看统计信息是否正常,如果不正常导致系统采用hash,就先更新统计,再看看系统是否还整成hash运算符。
hash聚合如果也和连接差不多,主要在于如果聚合字段分组较少,那么对hash聚合非常有利,内存很省,如果又有排序, 那最好采用流聚合。不过一般情况下除非统计信息出错,否则优化器都能正确选择流聚合和hash聚合。
sql server中的hash应用优化相关推荐
- 将一个基于磁盘的表迁移到SQL Server中的一个内存优化的表
本文是微软的译文,对应的原文是:https://www.red-gate.com/simple-talk/sql/database-administration/migrating-disk-base ...
- SQL Server中如何识别、查找未使用的索引(unused indexes)
在SQL Server中,索引是优化SQL性能的一大法宝.但是由于各种原因,索引会被当做"银弹"滥用,一方面有些开发人员(甚至是部分数据库管理员)有一些陋习,不管三七二十一,总是根 ...
- 十步优化SQL Server中的数据访问
故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户, ...
- SQL Server中的SQL语句优化与效率问题
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhan ...
- (转)SQLServer_十步优化SQL Server中的数据访问 三
原文地址:http://tech.it168.com/a2009/1125/814/000000814758_all.shtml 第六步:应用高级索引 实施计算列并在这些列上创建索引 你可能曾经写过从 ...
- SQL Server中的执行引擎入门
简介 当查询优化器(Query Optimizer)将T-SQL语句解析后并从执行计划中选择最低消耗的执行计划后,具体的执行就会交由执行引擎(Execution Engine)来进行执行.本文旨在分类 ...
- SQL Server中关于跟踪(Trace)那点事(转载)
前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中"跟踪"也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充 ...
- SQL Server中的执行计划
介绍 (Introduction) In this article, I'm going to explain what the Execution Plans in SQL Server are a ...
- SQL Server中的万圣节问题和建议的解决方案
描述 (Description) As per Wikipedia, the Halloween problem was first discovered by Don Chamberlin, Pat ...
最新文章
- 第十四届智能车竞赛规则浅聊
- 【Paper】2015_异构无人机群鲁棒一致性协议设计_孙长银
- biginteger判断相等_java biginteger怎么比较大小
- 解决后退,清空验证码(其它文本框保留)
- js 对象数组常用操作 我用到的
- c语言赋值运算符左边必须是,C语言运算符入门讲解
- 爬虫工具:虚拟机Selenium和PhantomJS,ChromeDriver 镜像安装教程
- 蚂蚁金服入职考试_程序员入职蚂蚁金服被质疑,网友评论人生污点,不把外包当人?...
- JavaScript中如何自定义属性操作
- C语言x86汇编指令理解volatile(三十五)
- Navivat 中快速快捷查找表和数据
- 两台计算机如何组成局域网,两台电脑如何建立局域网
- 测试用例的评审和变更
- 棋类游戏的真正收获 - 延迟满足感
- Java学习方法的一点个人见解-完整版
- NLP Prompting for Text Classification(1)
- 新机如何把机械硬盘中的系统克隆到固态硬盘
- 基于python和线上网站wordart的词云生成
- C/C++程序的编译过程
- 【服务器搭建个人网站】教程三:怎样购买域名并怎样进行域名解析 来啦