位置: 编程技术 - 正文

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

  • 进出口公司怎么做
  • 税控盘这个月没有反写会怎么样
  • 什么叫风险纳税人员
  • 公司租房代房东缴纳租房税金
  • 哪些项目需要交环保税
  • 年末增值税需要计提吗
  • 商家为什么要做广告?
  • 开票地址开错有什么后果
  • 临时工工资为什么那么低?
  • 临时营业执照有效期多久
  • 房地产企业销售额排名
  • 工资核算方式
  • 17%增值税发票怎么计算成13%
  • 小规模的企业所得税税率
  • 劳动仲裁是怎样仲裁公司的
  • 个税手续费返还会计分录
  • 增值税普通发票税率表
  • 物流公司开票税率
  • 个贷系统平账专户利息分录
  • 资产负债表应交税费计算公式
  • 非高新企业研发费用加计扣除的条件
  • 金融行业信托
  • 合伙项目如何进行分红
  • 一次性优惠税率表
  • 怎么查银行账户余额
  • 企业之间的违约金进什么科目
  • 销售合作分成会计分录
  • qtask.exe - qtask是什么进程 有什么用
  • php开发用什么ide
  • 茶叶的种类有哪些,八大茶类你都知道吗?
  • ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 1
  • php从服务器下载文件
  • wamp环境搭建的过程
  • 请问怎么清除
  • php生成微信二维码
  • laravel phpstudy
  • 报销差旅费的会计分录为什么是其他应收款
  • 同业拆入属于哪个行业
  • c++图像二值化
  • ps索引工具怎么用
  • 前端动画库
  • 数据库管理中负责数据模式定义的数据库语言是
  • 使用SqlServer CTE递归查询处理树、图和层次结构
  • python logger
  • 赠品视同销售价格如何确定
  • db2pd 命令
  • 受托方代扣代缴增值税、消费税的纳税人
  • 支付长期借款利息
  • 去年的分红奖金是多少
  • 同一控制下企业合并
  • 理财中的资产是什么意思
  • 房屋租赁费如何结转成本
  • 销售给回扣的话术
  • 违约金罚款计入什么科目
  • 固定资产的入账时间应该是什么时间
  • 公司账户美金入账后怎么做分录
  • 社会医疗保险机构名词解释汇总
  • win10出现
  • windows7用户
  • gho文件硬盘安装
  • 怎么关闭windows更新提示
  • Win10 Mobile 10572预览版上手体验视频
  • win7桌面图标都不见了
  • Mac系统中pr插件汉化
  • centos init
  • centos7ftp
  • win10系统怎么添加ip地址
  • unity3d ide
  • google collections
  • bat 批处理文件
  • 置顶pyq会被自己屏蔽的人看到吗
  • 关于中秋节的古诗
  • python不能用
  • shell错误日志输出
  • 仿淘宝源码
  • node ffi
  • 噩梦 1-4
  • 中粮副总裁是什么级别
  • 历年房产税
  • 摩托车的消费税计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设