我目前正在学习SQL 70-433(Microsoft认证考试),并且对“查询成本”性能指标感到非常困惑。
根据我可以通过Google找到的任何文档,查询成本是一个百分比数字,代表整个批次中任何一部分所占的百分比。这对我来说似乎有些奇怪,因为我对特定查询的绝对优点感兴趣,而不是相对于碰巧出现在其中的其他查询的优点。
但是后来我想,也许您希望做的是并排放置两个替代查询,将它们作为“一批”运行,然后成本低于50%的任何一个成为赢家。
但是,第6章中关于查询成本的讨论是Microsoft的SQL 70-433培训工具包的一课,似乎与此没有任何关系。
这是一个示例:它们显示了一个包含两个相关子查询的查询,然后通过用OUTER APPLY替换子查询来对其进行改进。结果:“此查询的成本约为76,而第一个查询的成本是151的两倍。” 然后,他们进一步改善了查询,并将成本从76降低到3.6。它们并不暗示这些数字是百分比,而它们确实暗示它们是绝对值,与作为独立对象的查询有关,而没有引用任何其他查询。而且,无论如何,第一个查询的成本为151%?
在本章的后面,它们显示了一个执行计划的屏幕快照,该屏幕分为三个部分。第一个显示“成本:0%”,第二个显示“成本:1%”,最后一个显示“成本:99%”,但屏幕截图下方的(本书本身的)文本“此查询的成本为0.56” 。我猜他们意味着其他成本,但是我找不到其他地方的参考。
有人可以帮忙吗?我很困惑。