Запись оракула sql с 3 подзапросами, однако это вызывает проблему с таймаутом. Надеемся на техническую помощь в получении исправления. Вот мой запрос:Oracle sql с подзапросами, вызывающими проблему формообразования
select DISTINCT E_reg.applicant_id,
E_REG.L_NAME,
E_REG.F_NAME,
E_REG.B_DATE,
E_REG.REG_DATE,
from E_REG,TRANSACTION
where E_REG.ID=TRANSACTION.PAR_ID
and TRANSACTION.BEGIN_DATE BETWEEN to_date ('01-APR-2012')AND to_date('30-JUN- 2012')
and e_reg.applicant_id NOT IN
(select applicant_id
from w_reg
where reg_date <'01-JUL-2012'
and exit_date is NULL or exit_date >='01-APR-2012'
or e_reg.applicant_id NOT IN
(select applicant_id
from t_reg
where reg_date <'01-JUL-2012'
and exit_date is NULL or exit_date>='01-APR-2012')
or e_reg.applicant_id NOT IN
(select applicant_id
from r_reg
where reg_date <'01-JUL-2012'
and o_attend IS NOT NULL
and term_date is NULL or term_date >='01-APR-2012')
В основном у нас есть 4 программы, которые вы можете быть в (е, ж, т, г). Это все отдельные таблицы, содержащие основную информацию участника. Вы можете быть одновременно во всех четырех программах, претендент - это ключ для всех.
В таблице транзакций есть любая услуга, которую вы можете получить в этих 3 или 4 программах, а не в программе r, которая имеет свою собственную таблицу транзакций.
Я хочу, чтобы список участников таблицы e имел сервис в таймфрейме, но не имел никаких сервисов ни в одной из других программ одновременно. Они будут обслуживаться только по электронной программе. Казалось, это работало сегодня утром, но потом это начало отсчета времени и не работает вообще. Я полагаю, что это должен быть подзапрос. Подумайте, есть ли лучший способ сделать эту работу.
и объяснить план это выглядит как что? Если вы можете предоставить скрипт SQL, люди будут более склонны помогать. – Woot4Moo
Похоже, что он выполняет полное сканирование таблицы каждый раз, что может быть шеей бутылки. – Woot4Moo
, пожалуйста, опубликуйте план выполнения запроса и определения таблиц с индексами и предпочтительно с оценками подсчета строк для каждой таблицы. –