这条sql 语句如何优化,提交效率 ?

jackey_liao 2011-09-05 05:41:58
这条查询运行时间需要30秒,太长了,不知道怎样优化呢 ?

SELECT do.Order_ID as id, do.BriefNo, do.ReviseNo as Revise,do.Bid,price = do.grade + '/' + do.currency,et.Exhibition_en, et.Exhibition_cn, ct.Client_name as client, et.Start_Date, et.End_Date,ut.USERNAME as Sales, Designer = dbo.f_getorderdesigner(Do.Order_ID), do.Act_Start_Date, do.Act_End_Date,do.Summit_Time as Create_date FROM DesignOrder as do INNER JOIN Join_ID as ji ON do.Join_ID = ji.Join_id INNER JOIN USER_TABLE as ut ON do.UserID = ut.USERID INNER JOIN UserGroup as ug ON ut.USERGROUP_ID = ug.UserGroup_ID INNER JOIN Exhibition_Table as et ON ji.Exhibition_ID = et.Exhibition_ID INNER JOIN Client_Table as ct ON ji.Client_ID = ct.Client_ID INNER JOIN Company as cp ON ut.Company_id = cp.Company_id INNER JOIN Nature as na ON do.Nature_Id = na.Nature_id WHERE ( do.UserID = ut.USERID and dbo.f_designer_exist(Do.Order_ID,'jacky.jiang') like 'jacky.jiang' and ut.State = 'active' and et.Start_Date>='4/1/2011' and et.Start_Date<='6/1/2011' )
...全文
229 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
GIS_Cloud 2011-10-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 jackey_liao 的回复:]
这条查询运行时间需要30秒,太长了,不知道怎样优化呢 ?

SELECT do.Order_ID as id, do.BriefNo, do.ReviseNo as Revise,do.Bid,price = do.grade + '/' + do.currency,et.Exhibition_en, et.Exhibition_cn, ct.Client_name as client, et……
[/Quote]
explain 你的sql语句,然后贴出来,然后就有人可以帮你解决了
risky 2011-10-14
  • 打赏
  • 举报
回复
建議不要這麼多INNER JOIN 多用TEMP TABLE 表 試試 。。
spyman1802 2011-10-10
  • 打赏
  • 举报
回复
查询条件中,有函数,是不是一个原因哪??如果这个自定义的函数效率很差,那你的SQL应该快不了
Sphonix 2011-10-09
  • 打赏
  • 举报
回复
你应该提供更详细的说明,比如哪个表的数据量比较大,1楼应该是高手,和楼主沟通起来有些脱节,哈哈。3楼说的很有道理,你的索引建的貌似有问题的。
qaz6759347 2011-09-07
  • 打赏
  • 举报
回复
尽量将条件写到子查询中之后在进行连接查询.这样级数量要小的多.同时在关联的字段上加上索引.
jackey_liao 2011-09-05
  • 打赏
  • 举报
回复
et.Start_Date 和 et.End_Date 都建立了索引
wwwwb 2011-09-05
  • 打赏
  • 举报
回复
EXPLAIN sql 语句
索引情况如何

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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