SQL Server 2005 扫描计数产生原因分析(2)
上一次我们分析了两种写法不一样,产生的扫描计数差别很大,一个为3,一个为0,我们先看看后面的sql语句执行计划:
执行计划解释:
1,这里有两个合并排序,就是对3个id数据排序,通过合并算法排序(这里为何要用合并排序算法,我们在另一节中讨论)
2,通过排序后的数据,一次使用嵌套循环取出对应的索引值,一共循环三次。(嵌套循环算法将在另一节中讨论)
3,通过循环找到索引键值后,数据库也就找到了对应的行RID,这时通过嵌套循环找到行数据。
我们发现这时,索引和行数据查找是分开的。,也就是说找到索引和找到数据是分开的。这时扫描计数为0
我们还可以使用索引覆盖查找和表扫描,也都有扫描计数
通过上面的例子,总接一下:
扫描计数:数据库连续完整的找到一部分数据的次数。
以上是个人观点,如有错误请批评指正,一起学习进步!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具