当我尝试从链接表运行简单的Select Distinct查询时,SQL Server挂起。 “执行查询。等待数据源的响应。”然后返回错误:超时已过期。操作完成之前经过的超时时间或服务器没有响应。
SELECT DISTINCT UR_RISK_ID AS [Risk ID]
FROM FWLIVE..LMDATA.UDS_RISK
没有“独特”,它很好并且运行得非常快。
有什么想法?
答案 0 :(得分:0)
select distinct
基本上与:
SELECT UR_RISK_ID AS [Risk ID]
FROM FWLIVE..LMDATA.UDS_RISK
GROUP BY UR_RISK_ID;
换句话说,引擎必须做很多工作才能删除重复项。我建议在UDS_RISK(UR_RISK_ID)
上创建一个索引,这样索引就可以用于查询。
我还应该注意SELECT
可以在遇到它们时开始返回行。 SELECT DISTINCT
需要在返回任何行之前处理所有数据。如果表中有唯一的id,那么可能还有其他选项可以更快地返回某些行。