【发布时间】:2013-12-20 21:56:27
【问题描述】:
我正在编写一个 sql 查询来从不同的表中获取数据,但它从不同的表中获取数据的速度非常慢。 大约需要2分钟以上才能完成。 我在这里做的是: 1. 我得到数据差异,代表日期差异我得到帐号 2. 我正在比较表格以获得我需要的准确数据。
这是我的查询
select T.accountno,
MAX(T.datetxn) as MxDt,
datediff(MM,MAX(T.datetxn), '2011-6-30') as Diffs,
max(P.Name) as POName
from Account_skd A,
AccountTxn_skd T,
POName P
where A.AccountNo = T.AccountNo and
GPOCode = A.OfficeCode and
Code = A.POCode and
A.servicecode = T.ServiceCode
group by T.AccountNo
order by len(T.AccountNo) DESC
请帮助我如何使用联接或任何其他方式在更短的时间内(例如 5-10 秒)获取数据。
【问题讨论】:
-
没有数据模型很难得到任何帮助。
-
请发布架构和查询计划。 stackoverflow.com/questions/4872891/…
-
查询计划是什么,每张表有多少行?
标签: sql sql-server performance join