【发布时间】:2014-08-25 07:43:23
【问题描述】:
我有表GLTrans,它有一个非聚集索引:
我的查询:
SELECT
_glAccount.[Code] as [AccountCode]
,_glTrans.[CommentBooking] as [CommentBooking]
FROM
[GLTransHeader] _this
INNER JOIN
[GLTrans] _glTrans ON _glTrans.[GLTransHeader_Id] = _this.[Id]
LEFT INNER JOIN
[GLAccount] _glAccount ON _glAccount.[Id] = _glTrans.[GLAccount_Id]
WHERE
_glTrans.Folder_Id = '3AFE5BC5-1CC7-4198-9D89-B65591624C6E'
如果我在GLTrans 表中添加Folder_Id,则会显示查询。另一方面,查询超时。
我的问题:
- 如果我将键与多列分组,我必须在 where 关键字中使用它们吗?
- 如果我为每一列取消分组并创建非聚集索引,它与上面有什么不同吗?
【问题讨论】:
-
没有
LEFT INNER JOIN- 要么是INNER JOIN要么是LEFT (OUTER) JOIN...... -
这个材料已经被报道过很多次了。这个问题太宽泛了。关于索引的基本教程应该比 SO 能更好地回答这个问题。
标签: sql sql-server