SELECT (CASE
WHEN COUNT(1) > 0 THEN
'Y'
ELSE
'N'
END) AS EXISTS_UNIMPORT_FEE
FROM IFDPLINE IL
WHERE IL.IFDL_ORG_ID = 139
AND IL.IFDL_STATUS <> '03'
AND IL.IFDL_GL_DATE >= TO_DATE('2007-9-1', 'yyyy-mm-dd')
AND IL.IFDL_GL_DATE < TO_DATE('2007-10-1', 'yyyy-mm-dd')
AND (IL.IFDL_DP_NUMBER LIKE '%/E' OR IL.IFDL_DP_NUMBER LIKE '%/I')IFDPLINE表的数据量是300W,现要取IFDL_DP_NUMBER的最后2位为/E或/I,IFDL_DP_NUMBER数据的位数不确定,有什么方法可以避免左模糊的全表扫描。(函数在索引列上也失效,所以用length也不行)
WHEN COUNT(1) > 0 THEN
'Y'
ELSE
'N'
END) AS EXISTS_UNIMPORT_FEE
FROM IFDPLINE IL
WHERE IL.IFDL_ORG_ID = 139
AND IL.IFDL_STATUS <> '03'
AND IL.IFDL_GL_DATE >= TO_DATE('2007-9-1', 'yyyy-mm-dd')
AND IL.IFDL_GL_DATE < TO_DATE('2007-10-1', 'yyyy-mm-dd')
AND (IL.IFDL_DP_NUMBER LIKE '%/E' OR IL.IFDL_DP_NUMBER LIKE '%/I')IFDPLINE表的数据量是300W,现要取IFDL_DP_NUMBER的最后2位为/E或/I,IFDL_DP_NUMBER数据的位数不确定,有什么方法可以避免左模糊的全表扫描。(函数在索引列上也失效,所以用length也不行)
试试看~~~