位置: 编程技术 - 正文

浅析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语句)

  • 网银数字证书年费计入什么科目
  • 分公司可以独立签约吗
  • 汇算清缴现金流量表怎么填
  • 个人独资企业注册流程
  • 快消品行业成本结转方法
  • 核定征收企业怎么申报
  • 厂房房产税如何计算
  • 分配的股息 要交所得税吗
  • 银行手续费要纳进去吗
  • 会计差旅费属于什么会计科目
  • 电子发票怎么红冲步骤视频
  • 税收分类编码选错了没事吧
  • 税务登记号和统计号区别
  • 一个季度又叫什么
  • 降温费和取暖费标准
  • 公共租赁住房的供应对象不包括
  • 确认无法回收的应收账款会计分录
  • 进口关税和进口增值税怎么算
  • php对称加密算法实验报告
  • dns进程
  • php array_search() 函数使用
  • 2019年下半年中小学教师资格考试综合素质试题
  • 轻薄本拆卸
  • 计提企业所得税会计分录怎么做
  • php完整教程
  • 营改增建筑企业增值税
  • el-table-column label动态
  • 微信网页开发工具
  • 用php做计算
  • 炫酷登录注册教程
  • 超像素和markpage的区别
  • labview oop
  • php提供的三种在函数内使用全局变量的方式
  • 母子公司转让不动产 契税
  • 小规模0申报要做账吗
  • 公对公账号没有卡能取得出来钱吗
  • 暂估入库成本处理
  • python 逻辑取反
  • 房产税的计算器
  • 销售成本转结分录
  • 增值税留抵税额是什么意思
  • 支付宝和微信的财务统计
  • 企业利润表表怎么看
  • 什么是原始凭证?简述原始凭证审核的内容
  • 商场扣点怎么做分录
  • 确认收入结转成本可以写在一张凭证上吗
  • 待认证转出
  • 个体工商户生产经营所得税优惠政策
  • 固定资产对外投资通过固定资产清理吗
  • 企业变卖汽车收入要交增值税吗
  • 不交社保如何在网上投诉
  • 小规模纳税人建筑服务预缴增值税
  • 研发费加计扣除申报表怎么填
  • 简易计税的进项税额转出会计分录
  • 个体户利润总额是4万应缴纳多少个人经营所得
  • 企业低值易耗品的摊销方法有( )
  • 怎么设置现金流
  • 货币资金核算制度是什么
  • sql server 3417错误
  • sqlserver字符串切割
  • 系统升级中怎么办
  • 删除windows.edb
  • linux 删除文件夹里的所有文件
  • centos8 固态硬盘
  • ubuntu怎么切换到桌面
  • ubuntu 命令行修改用户密码
  • igfxem module是什么程序
  • shell source不起作用
  • unity3d documentation
  • jquery示例
  • Node.js + Redis Sorted Set实现任务队列
  • 低端显卡n卡设置
  • 批处理显示
  • js 图片压缩库
  • mybatis框架执行流程
  • 用python做
  • Metaio in Unity3d 教学--- 三. 使用ID Marker作为扫描目标
  • 设计服务属于什么税目
  • 美国买房hoa
  • 盐城买家电到哪里买
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设