使用子查询提高查询效率

故障现象:多查询一个字段时效率很低,少一个字段时效率快10倍

解决方案:使用子查询提高查询效率

 

实例:

SELECT

BTS.EMS_NE_NAME AS DEVICE_NAME,'3G' AS DEVICE_CATEGORY

,'光缆' AS COMPARE_TYP,SEG_ROAD.

OP_CABLE_SEG_NAME AS OBJ_NAME ,

--ROAD.OP_ROAD_NAME AS OBJ_OPTICAL,

CARR.CARRIER_OBJ_NAME, CARR.OBJ_NAME,CARR.OBJ_ID,

BTS.DATA_DOMAIN_ID,SEG_ROAD.

OP_CABLE_SEG_CODE,

(

SELECT ROAD.OP_ROAD_NAME FROM T_OP_ROAD ROAD WHERE (CARR.OBJ_ID = ROAD.OP_ROAD_ID)

) AS OBJ_OPTICAL,

 

CASE BTS.MARRY_STATE

WHEN 1

THEN '网管与资源匹配'

ELSE '资源缺失'

END

AS RES_STATUS,

CASE

WHEN (BTS.EMS_NE_NAME IS NULL OR

SEG_ROAD.OP_CABLE_SEG_ID IS NULL)

THEN '关联失败'

ELSE '关联成功'

END

AS "COMPARE_RESULT",'' AS TOWER_NAME,'' AS TOWER_CODE

FROM

T_WX_BTS BTS

LEFT JOIN T_WX_CARRIER CARR

ON (CARR.CARRIER_OBJ_ID=BTS.RES_NE_ID AND

OBJ_TYPE=8)

--LEFT JOIN T_OP_ROAD ROAD ON (CARR.OBJ_ID = ROAD.OP_ROAD_ID)

LEFT JOIN T_CABLESEG_RE_ROAD SEG_ROAD

ON(SEG_ROAD.OP_ROAD_ID=CARR.OBJ_ID)

WHERE

BTS.MARRY_STATE IN(1,2)

AND BTS.DATA_DOMAIN_ID IN (1030005,1070001,1030001,1150001,1010003,1060001,1050001,1090001,1140001,1080001,1020001,1040001,1100001,1020003,1010004)

 

更多精彩技术分享请浏览本人博客:https://blog.csdn.net/wohiusdashi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不甘于平凡的溃败

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值