SELECT
APP.ACCEPT_AS_ID
, ISNULL(ACCEPT_NO,'') AS ACCEPT_NO
, ISNULL(CUST_NAME, '') AS CUST_NAME
, ISNULL(C.TEL_NO1,'') AS CUST_TEL
, ISNULL(PROD_ID, '') AS PROD_ID
, ISNULL(ASC_CD,'') AS ASC_CD
, ISNULL(APP.REGIST_DT, '') AS REGIST_DT
, ISNULL(APP.REGIST_TT, '') AS REGIST_TT
, ISNULL(DBO.FN_GETCODE('AS_LOSE_TYPE', CANCEL_TYPE), '') AS CANCEL_TYPE
, ISNULL(DBO.FN_GETCODE('AS_LOSE', CANCEL_REASON), '') AS CANCEL_REASON
, ISNULL(APP.CANCEL_REASON_DESC,'') AS CANCEL_REASON_DESC
FROM
AS_CANCEL_APPLY APP, ACCEPT_AS ACC, CUST_MST C
WHERE
APP.ACCEPT_AS_ID = ACC.ACCEPT_AS_ID
AND ACC.CUST_ID = C.CUST_ID
AND ACC.STATUS <> 'LOSS'
AND APP.STATUS = 'N' AND ACC.RSC_CD ='a010' ORDER BY APP.REGIST_DT DESC, APP.REGIST_TT DESC
我用计划分析这条语句慢的原因。是因为CUST_MST这个表的数据量非常大.
表扫描开销达到了百分之六十,怎么样避免表扫描呀!谢
APP.ACCEPT_AS_ID
, ISNULL(ACCEPT_NO,'') AS ACCEPT_NO
, ISNULL(CUST_NAME, '') AS CUST_NAME
, ISNULL(C.TEL_NO1,'') AS CUST_TEL
, ISNULL(PROD_ID, '') AS PROD_ID
, ISNULL(ASC_CD,'') AS ASC_CD
, ISNULL(APP.REGIST_DT, '') AS REGIST_DT
, ISNULL(APP.REGIST_TT, '') AS REGIST_TT
, ISNULL(DBO.FN_GETCODE('AS_LOSE_TYPE', CANCEL_TYPE), '') AS CANCEL_TYPE
, ISNULL(DBO.FN_GETCODE('AS_LOSE', CANCEL_REASON), '') AS CANCEL_REASON
, ISNULL(APP.CANCEL_REASON_DESC,'') AS CANCEL_REASON_DESC
FROM
AS_CANCEL_APPLY APP, ACCEPT_AS ACC, CUST_MST C
WHERE
APP.ACCEPT_AS_ID = ACC.ACCEPT_AS_ID
AND ACC.CUST_ID = C.CUST_ID
AND ACC.STATUS <> 'LOSS'
AND APP.STATUS = 'N' AND ACC.RSC_CD ='a010' ORDER BY APP.REGIST_DT DESC, APP.REGIST_TT DESC
我用计划分析这条语句慢的原因。是因为CUST_MST这个表的数据量非常大.
表扫描开销达到了百分之六十,怎么样避免表扫描呀!谢
不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有
多列这样的情况下,只要这些列中有一列含有null,该列就会从
索引中排除。也就是说如果某列存在空值,即使对该列建索引也不会提高性能。任何
在where子句中使用isnull的语句优化器是不允许使用索引的