可以将子查询改写为连表查询,提高查询效率。

改写后的SQL语句如下:

SELECT pea.id, pea.name FROM PFQA_EVALUATION_ACTIVITY pea INNER JOIN PFQA_TEMPLATE_VERSION ptv ON ptv.ID = pea.TEMPLATE_VERSION_ID WHERE ptv.TEMPLATE_CODE = 'T000010' AND NOT EXISTS ( SELECT 1 FROM PFQA_EVALUATION_ACTIVITY pea1 WHERE pea1.ASSOCIATION_ACTIVITY_ID IS NOT NULL AND pea1.ASSOCIATION_ACTIVITY_ID = pea.id )

sql优化:SELECT peaidpeaname FROM PFQA_EVALUATION_ACTIVITY pea WHERE EXISTS SELECT 1 FROM PFQA_TEMPLATE_VERSION ptv WHERE ptvID = peaTEMPLATE_VERSION_ID AND ptvTEMPLATE_CODE = T000010AND peaid NOT IN

原文地址: http://www.cveoy.top/t/topic/iSN0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录