位置: 编程技术 - 正文

浅析SQL Server的聚焦使用索引和查询执行计划(sql-server)

编辑:rootadmin

推荐整理分享浅析SQL Server的聚焦使用索引和查询执行计划(sql-server),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server有什么作用,sql server干嘛的,sql server的相关技术知识,sql server有什么作用,sql-server,sql server有什么作用,sql server有什么作用,sql server有什么作用,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

上一篇《浅析SQL Server 聚焦索引对非聚集索引的影响》我们讲了聚集索引对非聚集索引的影响,对数据库一直在强调的性能优化,所以这一节我们统筹讲讲利用索引来看看查询执行计划是怎样的,简短的内容,深入的理解。

透过索引来看查询执行计划

我们首先来看看第一个例子

1、默认使用索引

上述我们看到第2个查询的所需要的开销是第1个查询开销的3倍,当然其中也涉及到第1个查询只是返回一列而第2个查询返回所有列,这其中也耗费一小部分性能。对于SQL Server查询而言,它内部会利用索引来走最短的路径获取最优的性能。我们能够注意到即使将orderid作为主键,但是返回数据并不是采用的主键所自动生成的聚集索引而是非聚集索引。相信有很多人主观上觉得返回主键而且查询没有查询条件应该是走主键的聚集索引,但是有时候事实并非如此,上一篇我们已经讨论过这个问题,不再叙述。在第2个查询中利用*返回数据则是利用主键的聚集索引。

浅析SQL Server的聚焦使用索引和查询执行计划(sql-server)

2、强制主键使用聚集索引

强制使用索引我们利用With(index(索引名称))来创建,如下:

我们从上可以看出默认返回主键列时利用非聚集索引,这里我们强制让它走聚集索引,而对于第2个查询就不用说了,此时二者的开销是相当的。

3、强制使用非聚集索引

我们继续往下看,对查询强制使用非聚集索引查找,如下:

由上可见,二者开销区别之大,对于使用非聚集索引查询1返回单列,而查询2返回所有列的速度快如此之多,通过以上默认使用索引、强制使用聚集索引、强制使用非聚集索引我们知道对于对于检索所有列结果集使用主键的聚集索引是最佳选择。

总结

通过上述演示我们知道即使创建了聚集索引也不会利用聚集索引检索结果,有时候使用非聚集索引比使用聚集索引会提供更好的性能,当然不能一概而论,二者皆有使用场景。当每一次面试时谈到数据库优化时,第一想到的是索引,然后就没有下文了,如何使用索引,怎么在不同场景使用不同的索引呢?在任何数据库中索引一直都是一个很大的话题且是一个复杂的内容,复杂的内容皆是由简单堆积而成,我们必须如蜗牛般去慢慢研究,抽茧剥丝,最终才会有一个好的效果。简短的内容,深入的理解。

标签: sql-server

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

上一篇:浅析SQL Server 聚焦索引对非聚集索引的影响(sqlserver聚集函数)

下一篇:详解SQL Server中的数据类型(sql server的sql语句)

  • 只报税不做账有什么后果?
  • 注销空白缴销发票流程
  • 增值税留抵税额是什么意思
  • 购销合同需要盖合同章吗
  • 销项负数的分录怎么做
  • 怎样根据税负率调账
  • 模具发票如何入账
  • 集团内部公司之间怎么称呼
  • 公司给的出差津贴
  • 房地产开发企业预收款预缴增值税
  • 公司注销后专利还能转让吗
  • 制造业印花税计税,按照去税金额计算
  • 负债必须通过转让来清偿
  • 软件开发票入研发费用哪个明细科目?
  • 滞留票的进项税能抵扣吗
  • 法院拍卖破产企业房产,税费问题
  • key介质费入哪个科目?
  • 库存成本与实际成本不符
  • 交纳经营所得的个税怎么做分录?
  • 建筑设计公司的账务处理
  • 电脑看电影开全屏画面会迟钝是什么原因
  • 其它权益工具投资处置时其他综合收益转那
  • 分期购车的会计分录
  • 非居民个人所得税税率表最新
  • php cookie 登录
  • php数组函数 菜鸟
  • 本年利润和未分配利润怎么结转
  • 劳务派遣发票会扣税吗
  • 研发费用加计扣除新税收政策
  • 布列塔尼岛屿
  • 瑞士·劳特布龙嫩小镇
  • yii2框架优秀在哪里
  • 固定资产抵债账务怎么处理
  • 预付货款账务处理会计分录
  • 以股权出资成立公司的模板
  • 发票抵扣联能报销吗
  • echarts图大小设置
  • 定期定额征收超出3万怎么办
  • more命令 查找
  • 年底所得税怎么算
  • 转让全部探明矿权合法吗
  • 开了红字发票申请还要做进项税转出吗
  • 送货单需要跟在凭证后面吗
  • python 进程pid
  • 工资和五险一金在公司发,个税在子公司扣
  • mongodb的用户名和密码
  • 个税更正申报有什么影响
  • 固定资产的弃置费用
  • 请问在accessdemo1
  • 核定征收过了时间就不能申请了吧
  • 损益类科目全部科目
  • 残疾人就业保障金怎么计算
  • 现金池管理
  • 加权平均净资产收益率
  • 公司装修费用如何计算
  • 预提成本费用的会计分录
  • 企业缴纳社保费包括企业部分和个人部分
  • 建账有几种方法
  • mysql中自定义函数属于那个
  • mysql中函数创建与调用示例
  • mysql5.7.21安装
  • windows任务管理器怎么打开
  • windows软件类型最新版本
  • win8应用商店废了
  • mac笔记软件推荐
  • mac清理所有数据
  • 教大家一些实用的技巧方法
  • 如何在windows沙盒中导入文件
  • 演示模式怎么设置
  • 磁盘修复完成以后怎么办
  • windows2008无法识别usb
  • 天天数链是做什么的
  • python win32print
  • unity怎么把文件导入项目
  • 批处理forfiles
  • js cookie用法
  • js中如何弹出提示框
  • javascript数据结构与算法
  • 南京电子税务局咨询电话
  • 重庆国家税务局发票流向查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设