日期:2014-05-19  浏览次数:20422 次

帮忙优化
现在想把表SSOWebUserLocDivCoTimezone   里的LOCATIONNAME拿出来,但要检查表INSPECTION有没用到这个LOCATIONNAME.但下面的运行要3秒,应该不用这么长时间,请教.   有其他写法会快点吗?

SSOWebUserLocDivCoTimezone   有100条数据
INSPECTION   100万条数据,已有索引
OebOrder   250万条数据,已有索引


CREATE   PROCEDURE   sp_GetINSPLocation   ()   AS
Select   Distinct
W.LOCATIONNAME
From   INSPECTION   I
JOIN   OebOrder   O   ON   (I.OrderId   =   O.OrderId   AND   I.PartId   =   O.PartId)
Join   SSOWebUserLocDivCoTimezone   W   ON   (I.CreatedBy   =   W.RegId)
WHERE   W.LOCATIONNAME   >   '   '
Order   By   W.LOCATIONNAME

------解决方案--------------------
语句应该没有什么问题
关键是索引建的是否合理

可以分析一下成本,看看有没有数据瓶颈
------解决方案--------------------
3张表各建了哪些索引,这样才知道select语句中是否用到了索引。
------解决方案--------------------
看看各个地方用的成本阿,成本用的多的地方就是瓶颈
尝试优化一下