这样的存储过程效率高吗?

wg168 2003-04-18 10:24:41
SELECT TOP 100 PERCENT ISNULL(a.BOM_FullID, '') AS BOM_FullID,
ISNULL(a.BOM_Level, '') AS BOM_Level, ISNULL(c.Pro_Id, '') AS Pro_Id,
ISNULL(c.Pro_Name, '') AS Pro_Name, a.BOM_Number, a.BOM_WasteRate,
a.BOM_Number1, a.BOM_SonNum, ISNULL(b.ProceID, '') AS ProceID,
ISNULL(b.ProceName, '') AS ProceName, ISNULL(f.Pro_Id, '') AS Pro_Id_R,
ISNULL(f.Pro_Name, '') AS Pro_Name_R, a.BOM_Number_R, a.BOM_WasteRate_R,
a.BOM_Number_R1, a.BOM_MadeBOMDate, ISNULL(d.ProceID, '') AS ProceID_R,
ISNULL(d.ProceName, '') AS ProceName_R, ISNULL(SUM(gg.P_Total)
/ SUM(gg.P_Number), 0) AS P_Price
FROM dbo.StorStatus gg RIGHT OUTER JOIN
dbo.Product c ON gg.P_FullId = c.Pro_FullId RIGHT OUTER JOIN
dbo.SC_BOM a ON c.Pro_FullId = a.BOM_ProFullID LEFT OUTER JOIN
dbo.Product f ON a.BOM_ProFullID_R = f.Pro_FullId LEFT OUTER JOIN
dbo.SC_WorkProce b ON a.BOM_WorkProceFullID_R = b.FullID LEFT OUTER JOIN
dbo.SC_WorkProce d ON a.BOM_WorkProceFullID = d.FullID
where BOM_FullID like @FirstBOMFullID +'%' and BOM_Deleted=0
GROUP BY a.BOM_Level, a.BOM_WasteRate, a.BOM_Number1, a.BOM_Number_R,
a.BOM_SonNum, a.BOM_Number_R1, a.BOM_WasteRate_R, a.BOM_MadeBOMDate,
b.ProceID, b.ProceName, d.ProceID, d.ProceName, f.Pro_Name, f.Pro_Id, c.Pro_Id,
c.Pro_Name, a.BOM_FullID, a.BOM_Number
ORDER BY a.BOM_FullID
...全文
366 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
愉快的登山者 2003-04-18
  • 打赏
  • 举报
回复
TOP 100 PERCENT 可以去掉。
w_rose 2003-04-18
  • 打赏
  • 举报
回复
使用“xx分析器”生成的查询语句,通常都是逻辑非常清楚(就像你帖的查询语句),但是运行效率不会是最好的,需要手工调整。
w_rose 2003-04-18
  • 打赏
  • 举报
回复
即使索引很好,“order by”仍然是效率的杀手。

另外,没必要将所有数据都联结成一个大表然后“group by ”,你可以将其分开到在from之后的不同子查询中,这样查询中所建立的中间数据表可以减小。
w_rose 2003-04-18
  • 打赏
  • 举报
回复
没有看到“存储过程”呀?

查询写的不错。

效率主要在于索引的设计与查询的配合程度。你没有写明索引的具体内容,所以效率是否高无法下结论。
liuyunfeidu 2003-04-18
  • 打赏
  • 举报
回复
应该比你在程序里写提高一些。可是提高有限啊,因为你的语句太复杂了。呵呵~~~试着简化你的语句吧。我甚至都没有看完啊。
CrazyFor 2003-04-18
  • 打赏
  • 举报
回复
跟存储过程没有关系,跟你的语句有关,好复杂,估计是高不了的。

把语句拷贝到查询分析器,用索引优化向导优化一下吧。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧