Я имею простой запрос с примкнули все столбцы индексируются, но до сих пор я получаю полное сканирование таблицы Ниже приведен запрос,запрос делает полный просмотр таблицы, даже с индексами
select rsb.REP_STATUS_BRIDGE_ID
from REP_STATUS_BRIDGE_DETAILS rsd,
rep_status_bridge rsb
where rsd.REP_STATUS_BRIDGE_ID = rsb.REP_STATUS_BRIDGE_ID;
столбцы REP_STATUS_BRIDGE_ID индексируется в обоих таблицы, после это объяснить план
Explain plan at the following link
Пожалуйста, помогите мне в решении этого вопроса
Как многие люди спрашивали это запрос, который принимает навсегда, чтобы загрузить
select count(rsb.REP_STATUS_BRIDGE_ID) from
pcfc_dba.rep_pass rp,
pcfc_dba.rep_status_bridge rsb,
pcfc_dba.REP_STATUS_BRIDGE_DETAILS rsd,
pcfc_dba.rep_status_ref rsf
where trunc(rp.APPR_ACTION_END_DATE)>=to_date('01/02/2017','dd/MM/yyyy')
and trunc(rp.APPR_ACTION_END_DATE)<=to_date('06/02/2107','dd/MM/yyyy')
and rp.REP_STATUS_BRIDGE_ID = rsb.REP_STATUS_BRIDGE_ID
and rsb.REP_STATUS_BRIDGE_ID=rsd.REP_STATUS_BRIDGE_ID
and rsf.REP_STATUS_REF_ID=rsd.REP_STATUS_REF_ID;
Поскольку никаких условий ID не существует, одна таблица будет считана от начала до конца, индекс будет искать другую таблицу. – jarlh
Почему соединение? Почему бы не использовать существо? Кроме того, устаревший синтаксис соединения - hella bad nowadays – JohnHC
Это выглядит как разумный план выполнения для меня. У вас проблема с производительностью? Если да, можете ли вы его перечислить? – BobC