SQL语句一:
SELECT B.ALARM_TYPE BASIC_ALARM_TYPE
,B.ALARM_NAME BASIC_ALARM_NAME
,T1.BASIC_ALARM_TYPE
FROM GDC_BASIC_ALARM_TYPE_T B
LEFT OUTER
JOIN (
SELECT T.BASIC_ALARM_TYPE
FROM GDC_ALARM_TEMPLATE_T T
WHERE T.STATE = '1'
AND T.BUSINESS_ALARM_TYPE = '1')T1 ON T1.BASIC_ALARM_TYPE = B.ALARM_TYPE
WHERE T1.BASIC_ALARM_TYPE IS NULLSQL语句二:
SELECT B.ALARM_TYPE BASIC_ALARM_TYPE
,B.ALARM_NAME BASIC_ALARM_NAME
FROM GDC_BASIC_ALARM_TYPE_T B
WHERE NOT EXISTS(
SELECT T.BASIC_ALARM_TYPE
FROM GDC_ALARM_TEMPLATE_T T
WHERE T.BASIC_ALARM_TYPE = B.ALARM_TYPE
AND T.STATE = '1'
AND T.BUSINESS_ALARM_TYPE = '1')SQL语句三:
SELECT F.ALARM_TYPE BASIC_ALARM_TYPE
,F.ALARM_NAME BASIC_ALARM_NAME
FROM GDC_BASIC_ALARM_TYPE_T F
WHERE F.ALARM_TYPE IN((
SELECT B.ALARM_TYPE BASIC_ALARM_TYPE
FROM GDC_BASIC_ALARM_TYPE_T B) MINUS (
SELECT T.BASIC_ALARM_TYPE
FROM GDC_ALARM_TEMPLATE_T T
WHERE T.STATE = '1'
AND T.BUSINESS_ALARM_TYPE = '1'))其实就是一个求集合差的语句,但是执行计划确有点不同,搞不明白哪个是高效的,大拿教教我怎么分析呗。
SQL1SQL2SQL3
SELECT B.ALARM_TYPE BASIC_ALARM_TYPE
,B.ALARM_NAME BASIC_ALARM_NAME
,T1.BASIC_ALARM_TYPE
FROM GDC_BASIC_ALARM_TYPE_T B
LEFT OUTER
JOIN (
SELECT T.BASIC_ALARM_TYPE
FROM GDC_ALARM_TEMPLATE_T T
WHERE T.STATE = '1'
AND T.BUSINESS_ALARM_TYPE = '1')T1 ON T1.BASIC_ALARM_TYPE = B.ALARM_TYPE
WHERE T1.BASIC_ALARM_TYPE IS NULLSQL语句二:
SELECT B.ALARM_TYPE BASIC_ALARM_TYPE
,B.ALARM_NAME BASIC_ALARM_NAME
FROM GDC_BASIC_ALARM_TYPE_T B
WHERE NOT EXISTS(
SELECT T.BASIC_ALARM_TYPE
FROM GDC_ALARM_TEMPLATE_T T
WHERE T.BASIC_ALARM_TYPE = B.ALARM_TYPE
AND T.STATE = '1'
AND T.BUSINESS_ALARM_TYPE = '1')SQL语句三:
SELECT F.ALARM_TYPE BASIC_ALARM_TYPE
,F.ALARM_NAME BASIC_ALARM_NAME
FROM GDC_BASIC_ALARM_TYPE_T F
WHERE F.ALARM_TYPE IN((
SELECT B.ALARM_TYPE BASIC_ALARM_TYPE
FROM GDC_BASIC_ALARM_TYPE_T B) MINUS (
SELECT T.BASIC_ALARM_TYPE
FROM GDC_ALARM_TEMPLATE_T T
WHERE T.STATE = '1'
AND T.BUSINESS_ALARM_TYPE = '1'))其实就是一个求集合差的语句,但是执行计划确有点不同,搞不明白哪个是高效的,大拿教教我怎么分析呗。
SQL1SQL2SQL3
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货