聚簇索引在 SQL 中占用 100% 的成本


如果我创建了簇索引,它应该比其他索引工作得更快。
但当我检查执行计划时,它显示了 100% 的成本。

下面是例子

表格1
第 1 列
第2栏
第3栏

在 Table1 (Col1,
第 2 列,
第 3 栏)

但我在连接中仅使用 col1 和 col3,而 col2 在查询中使用。
因此,如果我们在索引中使用所有列,但不在联接中使用它,则会产生问题,这就是成本为 100% 的原因。

我尝试过的:

尚未尝试任何操作,因为查询运行正常,但当我检查执行计划时,它显示该集群索引的成本为 100%。
请告诉我如何降低成本。

解决方案1

首先,“100% 成本”仅意味着您的聚集索引扫描/查找占该查询成本的 100%。 这并不意味着查询的效率低于没有该索引的查询。

其次,您需要设计索引以考虑相关表中的预期数据量以及您期望执行的查询。 如果您要过滤特定值或范围 Col2,然后加入到另一个表 (Col1, Col3),那么你就会 大概 想要放 Col2 索引中的第一位。 但可以肯定的是,您需要使用有意义的数据负载来测试真实的表。

コメント

タイトルとURLをコピーしました