1
1
IN语句适用于选择littele位数据,如果您选择的数据较多,则应使用INNER JOIN,对于大数据,其性能优于IN IN比DISTINCT上的JOIN更快 EXISTS比IN更有效,因为“EXISTS只返回一行” |
2
0
当guid不连续时,guid列上的聚集索引不是一个好主意,因为这会导致插入时的性能损失。表中的记录是基于聚集索引进行物理排序的。聚集索引应放在具有连续值且不经常更改的列上。 如果在groupid(表组)上有一个非聚集索引,那么可以将“title”作为该索引的包含列。有关包含的列,请参见msdn。 |
3
0
我建议使用以下查询:
而不是:
还必须是此查询的调查执行计划,似乎索引
|
4
0
除非在JOIN和/或WHERE子句中指定了最左边的索引列,否则索引不会特别有用。我建议以下索引(尽可能唯一):dbo.Detail(GroupID)、dbo.News(DetailID)、dbo.Page_Content_Item(ContentID) 您可以使用包含的列和/或筛选器来微调这些索引,但我怀疑如果没有这些度量,性能可能足够好。 请注意,主键很重要。这不仅是一种设计最佳实践,还将在关键列上自动创建唯一索引,这可以提高相关列上的表连接性能。考虑检查您的模型,以确保您具有正确的主键和关系。 |
René Hoffmann esd · 如何使用带有更新或插入的计划 7 年前 |
ManuelSchneid3r · SQL查询计划序列 8 年前 |
Paria Molayem · 哪个执行计划的性能更好? 10 年前 |
Registered User · 如何避免额外的内部联接来优化此查询? 11 年前 |