+ -
当前位置:首页 → 问答吧 → sql怎么优化

sql怎么优化

时间:2011-12-02

来源:互联网

select fpersonid from T_ORG_PositionMember t where t.fpositionid in(
select fid from T_ORG_Position where fid in
(
select fparentid from T_ORG_PositionHierarchy  
where reverse(substr(reverse(flongnumber) , 1 , instr(reverse(flongnumber),'!') - 1)) in
 (
  select fnumber from T_ORG_Position where fid in
  (  
  select fparentid from T_ORG_PositionHierarchy 
  where reverse(substr(reverse(flongnumber) , 1 , instr(reverse(flongnumber),'!') - 1)) in
  (
  select fnumber from T_ORG_Position p 
  where p.fid in
  (
  select fpositionid from T_ORG_PositionMember m where m.fpersonid in
  (select fpersonid from T_PM_USER where fid='"+userid+"')
  )
  ) 
  )  
 )
))这个东西应该怎么,一大堆嵌套,哪位给优化优化

作者: caoyang0299   发布时间: 2011-12-02

这个是谁写的?佩服。

作者: fredrickhu   发布时间: 2011-12-02

我写的呀,杂优化啊

作者: caoyang0299   发布时间: 2011-12-02

不要写那么多的嵌套查询,不然会很慢。最要是用连接。

作者: szstephenzhou   发布时间: 2011-12-02

in语句的执行效率不高,换成inner join

作者: pengxuan   发布时间: 2011-12-02

我这是按逻辑一条条加上去的,连接不明白,所以求优化

作者: caoyang0299   发布时间: 2011-12-02