0
我跑我的SQL Server有没有办法提高SQL Server和DB2之间ODBC连接的速度?
SELECT A.[STCOMP]
,A.[STDATE]
,A.[STUNM]
,A.[STQTY]
,A.[STWWAY]
,A.[STVOID]
,A.[STMATR]
,A.[STTCKT]
,C.[RWDESC]
,A.[STDESC]
,A.[STLNDF]
,B.[CSLNAM]
,B.[CBLNAM]
,D.[CVAR6]
FROM [EPAK].[B00BF4CR].[IWSE4S8].[SCTRN] AS A
INNER JOIN [EPAK].[B00BF4CR].[IWSE4S8].[CUST] AS B ON A.[STNCST] = B.[CMSTC#]
AND A.[STNCMP] = B.[CMSTCO]
AND A.[STCOMP] = B.[CCMPNY]
AND A.[STCUST] = B.[CCUST#]
INNER JOIN [EPAK].[B00BF4CR].[IWSE4S8].[SCRWC] AS C ON C.[RWRESW] = A.[STRWC]
AND C.[RWCOMP] = A.[STCOMP]
INNER JOIN [EPAK].[B00BF4CR].[IWSE4S8].[CUSX] AS D ON A.[STCOMP] = D.[CCMPNY]
AND A.[STCUST] = D.[CCUST#]
WHERE (
A.[STDATE] = 20140211
AND A.[STVOID] = 'N'
)
ORDER BY A.[STTCKT]
的数据是只有一天在此查询,它返回我的3000条记录,但采取52分钟做到这一点。 该查询正在使用odbc连接和我的sql之间的链接的DB2服务器之间提取数据。
从SQL中不清楚,如果所有的表都是远程的 - 它们会查看哪些情况下整个查询应该发送到远程而不是本地执行。如果它在远程和本地之间被分割,那么你需要考虑哪个服务器要执行连接 - 对于所有连接有一点已知的提示,例如REMOTE。 INNER REMOTE JOIN - 指定远程执行连接 - 因此您可以故意将连接的较小一侧发送到较大的一侧。 – Andrew
我做了你所建议的我,并且我收到了此消息消息7376,级别16,状态2,第1行 无法强制执行此查询的远程连接提示。当[STCOMP],A [STDATE],A。[STUNM],A。[STQTY],A。[STWWAY],A。[STVOID],A。[STMATR] ,A。[STTCKT],C。[RWDESC],A。[STDESC], – asfsdf
看来这些都是远程表。尝试将数据带入本地#Temp表(限制你可以在哪里),然后查询这些数据。 – Steve