读书人

帮忙优化解决方案

发布时间: 2011-12-29 22:09:38 作者: rapoo

帮忙优化
现在想把表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语句中是否用到了索引。
[解决办法]
看看各个地方用的成本阿,成本用的多的地方就是瓶颈
尝试优化一下

读书人网 >SQL Server

热点推荐