5 index sql-server-2008 sql-server
添加到表中的最佳索引是什么,以便尽可能快地进行此查询。sd.incidents表大约有2.5M条记录,问题大约8K,变化大约120K。
select
--bunch of fields
from
sd.incidents a
left join sd.problems b on a.pr_number = b.pr_number
left join sd.problems c on b.pr_number = c.parent_pr_number and c.is_root_cause = 1
left join sd.changes d on b.caused_by_change_number_clean = d.change_number
where
a.severity in (1,2,3) and
(a.pr_number is not null or a.parent_number is null)
Run Code Online (Sandbox Code Playgroud)
如果您有大量字段和SELECT
/或字段很宽,则应确保这些JOIN
字段也是聚集索引。
通过键查找提取几十个字段可能是此类查询中最昂贵的部分。对你的JOIN
键进行聚类会放弃这一步。
唯一真正了解的方法是运行查询、检查执行计划并查看瓶颈在哪里。对于该WHERE
子句,您可以创建一个仅包含该表的簇键的过滤索引。
归档时间: |
|
查看次数: |
67 次 |
最近记录: |