У меня есть две разные таблицы ACCOUNTS
AND STATUS
ACCOUNTS:
========
ACCT_NUM
ACCT_TYPE
BALANCE
ACCT_NAME
BRANCH
BANK_ID
STATUS:
=======
ACCT_NUM
ACCT_STATUS
STATUS_DATE
BANK_ID
Таблица счетов более 1 миллиона записей, ACCT_NUM
в качестве индекса и BANK_ID
в качестве еще одного индекса.Таблица STATUS
содержит 1 миллион записей и имеет индекс ACCT_NUM
, BANK_ID
.
Я хотел выбрать все с состоянием как "I" Неактивно, поэтому я написал запрос следующим образом.
SELECT A.ACCT_NUM,A.BALANCE,B.ACCT_STATUS
FROM ACCOUNTS A, STATUS B
WHERE A.ACCT_NUM = B.ACCT_NUM
AND A.BANK_ID = B.BANK_ID
Из плана объяснения я мог видеть, что индекс STATUS не используется и идет под полным доступом таблицы.Может кто-нибудь объяснить, почему индексы не используются и как я могу улучшить производительность этого запроса.