sql优化:SELECT PEAID PEANAMEFROM PFQA_EVALUATION_ACTIVITY PEA WHERE EXISTS SELECT 1 FROM PFQA_TENANT_TEMPLATE TT RIGHT JOIN PFQA_EVALUATION_TEMPLATE ET ON ETTEMPLATE_CODE = TTTEMPLATE_CODE RIGHT
优化建议:
1.使用INNER JOIN代替RIGHT JOIN,避免数据扫描过多。
2.将子查询中的WHERE条件移至外层查询中,可以减少子查询的数据扫描量。
3.添加索引,提高查询效率。
优化后的SQL:
SELECT PEA.ID, PEA.NAME FROM PFQA_EVALUATION_ACTIVITY PEA INNER JOIN PFQA_TEMPLATE_VERSION PTV ON PEA.TEMPLATE_VERSION_ID = PTV.ID INNER JOIN PFQA_EVALUATION_TEMPLATE ET ON ET.TEMPLATE_CODE = PTV.TEMPLATE_CODE INNER JOIN PFQA_TENANT_TEMPLATE TT ON TT.TEMPLATE_CODE = PTV.TEMPLATE_CODE WHERE TT.TENANT_ID = 'ce14722a826db28a81e1ac7bdc1442a0' AND PEA.STATUS = 'progress' AND ET.TEMPLATE_TYPE_ID = '09e14d3e13b0a0253c242f2c167c49a3'
添加索引:
PFQA_TEMPLATE_VERSION表:TEMPLATE_CODE
PFQA_EVALUATION_TEMPLATE表:TEMPLATE_CODE,TEMPLATE_TYPE_ID
PFQA_TENANT_TEMPLATE表:TENANT_ID,TEMPLATE_CODE
PFQA_EVALUATION_ACTIVITY表:TEMPLATE_VERSION_ID,STATU
原文地址: https://www.cveoy.top/t/topic/hwqw 著作权归作者所有。请勿转载和采集!