如何对如下的sql语句进行优化?
DELETE FROM t_ic_student_detail d
WHERE EXISTS
(SELECT 'A'
FROM t_ic_student s
WHERE s.transaction_id = d.transaction_id AND
trunc(og.student_time,
'dd') < to_date('20080215', 'yyyymmdd')); --T_IC_AUDIT_LOG
DELETE FROM t_ic_student s
WHERE trunc(s.log_time,'dd') < to_date('20080215', 'yyyymmdd');
说明: 1: 数据库是oracle
2:t_ic_student_detail 与t_ic_student 是子主表的关系
DELETE FROM t_ic_student_detail d
WHERE EXISTS
(SELECT 'A'
FROM t_ic_student s
WHERE s.transaction_id = d.transaction_id AND
trunc(og.student_time,
'dd') < to_date('20080215', 'yyyymmdd')); --T_IC_AUDIT_LOG
DELETE FROM t_ic_student s
WHERE trunc(s.log_time,'dd') < to_date('20080215', 'yyyymmdd');
说明: 1: 数据库是oracle
2:t_ic_student_detail 与t_ic_student 是子主表的关系
DELETE FROM t_ic_student_detail d
WHERE d.transaction_id in (SELECT transaction_id FROM t_ic_student s
WHERE trunc(og.student_time, --og是什么?
'dd') < to_date('20080215', 'yyyymmdd'));
谢谢,不过这样还是要遍历整个 t_ic_student 表.