다음은 내가 작성한 쿼리입니다. 성능을 향상시킬 수 있는지 알고 싶습니다. 아무도 도와 줄 수 있습니까?쿼리 삭제 - 성능 향상을 위해
DELETE FROM GLOBAL_TEMP
WHERE EXISTS (
SELECT GLOBAL_TEMP.ASSET_ID
FROM TEMP AEE
WHERE GLOBAL_TEMP.ASSET_ID = AEE.ID_ASSET
AND GLOBAL_TEMP.TYPE = 'abcdef'
AND AEE.id_temp_notation
IN (SELECT ID FROM TEMP2 WHERE IS_DISPLAYABLE = 'N')
);
삭제하려는 항목과 데이터베이스 정보가 없어도 쿼리를 튜닝하기는 어렵지만 쿼리의 단순성을 살펴보면 어떤면에서는 개선 될 수 있을지는 의문입니다. –
"IN"이 느리거나, 두 번째가 있거나 temp와 temp2 간의 조인이 더 효율적일 수 있습니다. 또한 temp2 id는 temp2에서 is_displayable 인 것처럼 인덱싱됩니까? – xQbert
추가 정보 필요. GLOBAL_TEMP, TEMP 및 TEMP2의 데이터 양. 관련 칼럼의 색인; delete 문에 대한 실행 계획. –