位置: 编程技术 - 正文

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

  • 个税专项扣除能中途新增
  • 哪些是现代服务
  • 税收分类编码表下载2023
  • 公司的资本公积金可以用于弥补公司的亏损
  • 冲红的发票税款计提分录要冲红吗
  • 交易性金融资产有哪些
  • 分公司预缴企业所得税怎么算
  • 应纳税额关于进项和销项的计算公式
  • 小公司可以不交五险一金吗
  • 固定资产加速折旧会计处理
  • 畜牧生物工程有限公司
  • 行政事业单位工会经费支出范围
  • 员工私人车通行费能抵进项税吗
  • 营改增文件2019
  • 7月1日起税务新规
  • 水电费没有发票怎么报销
  • 调整以前年度应交税费分录
  • 培训学校税收筹划
  • 专票小数点后两位没有显示出来可以认证吗
  • 离职后绩效奖金应该按照整月发吗
  • 商场的租金怎样交税
  • win10开机内存占用60% 8g占用过高
  • 股份制企业是什么
  • mac更新内容
  • php语句和php变量都是区分大小写的
  • 短期借款利息计算
  • 白金汉宫维多利亚女王雕像寓意
  • 收汇金额和出口金额差额大怎么办
  • 支付的招标代理费计入成本还是费用
  • transformers document
  • 人力资源外包可以去吗
  • yolov5怎么改进
  • 怎么用ai做vi
  • 支付个人赔偿款入账
  • chkconfig命令参数
  • python设置配置文件
  • 补交上年所得税怎么调表
  • 库存材料清查结论怎么写
  • db2udb
  • linux mongodb创建用户
  • dedecms 授权
  • 项目支出可以列支差旅费吗
  • 预扣预缴和汇算清缴是什么意思
  • 去银行打对账单和回执单需要拿什么
  • 哪些情况发票可以红冲
  • 收取子公司管理费用
  • 投资性房地产转为非投资性房地产
  • 计提福利费是什么意思
  • 固定资产清理营业外支出可在税前扣除?
  • 无发票材料可以入材料账吗
  • 小规模企业自开收购牛发票增值税怎样申报
  • 专用发票怎么网上申领
  • 边际成本是什么意思大白话
  • 金税三期网络设置
  • mysql优化技巧实战
  • 注册表regsz是什么意思
  • win7操作系统在哪儿卖
  • centosip配置
  • win7系统换桌面
  • linux chakan
  • 明日之后白树高地怎么钓凤尾鱼
  • linux如何修改账户名
  • 电脑开机显示微信号怎么回事
  • WIN10系统优化精简工具
  • ubuntu用root运行
  • javascript Event对象详解及使用示例
  • Node.js中的事件循环是什么意思
  • python2.7.11
  • nodejs中向HTTP响应传送进程的输出
  • unity3d shader之Julia集和Mandelbrot集绘制美丽图案 (二)
  • JavaScript中的数据类型
  • Android---59---Toast的使用
  • python写脚本教程
  • bootstrap要学到什么程度
  • 怎么在电脑上下载浙政钉
  • 西安车位过户需要多少费用
  • 国家税务局发票真伪查验平台
  • 进出口备案登记表是哪个部门发的
  • 上海市浦东新区公租房
  • 预缴的税额可以用留底抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设