这个语句查询异常缓慢

查询的时候异常缓慢

这个语句有误再优化空间呢,谢谢

select *

  from tc_ypxt.t_camera t

 where 1=1

   and t.camera_no in

       (select sxtbm

          from t_camera_error a

         where a.gjbm is not null

           and yxbz = '1'

           and a.gjbm in (select gjbm

                            from t_camera_error

                           where yxbz = '1'

                           group by gjbm

                          having count(1) > 1)

           and (qx_id in

               (select udfcode from t_zd_qx t where t.parentcode = '350500') or

               (qx_id = '35' and dsbm = '350500')))

 order by yjyt_code asc


1716639952 发布于 2020-7-1 10:56
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
zsh331Lv8专家互助
发布于2020-7-1 11:02(编辑于 2021-1-15 23:26)

= = 很大的优化空间!

______


SELECT *
FROM tc_ypxt.t_camera t
INNER JOIN 
(
SELECT distinct sxtbm
FROM t_camera_error a
INNER JOIN
  (SELECT DISTINCT gjbm
   FROM t_camera_error
   WHERE yxbz = '1'
   GROUP BY gjbm
   HAVING count(1) > 1) b ON a.gjbm =b.gjbm
INNER JOIN
  (SELECT udfcode
   FROM t_zd_qx t
   WHERE t.parentcode = '350500' ) c ON a.qx_id = c.udfcode
OR (a.qx_id = '35'
    AND a.dsbm = '350500')
WHERE a.gjbm IS NOT NULL
  AND yxbz = '1'
) m
on t.camera_no = m.sxtbm


最佳回答
0
朝赟丶Lv6初级互助
发布于2020-7-1 11:31

条件里的用join或者用临时表with as吧

  • 3关注人数
  • 489浏览人数
  • 最后回答于:2021-1-15 23:26
    请选择关闭问题的原因
    确定 取消
    返回顶部