属性にインデックスを作成すると、インデックスがツリーであり、ソートされた順序で値をナビゲートするため、レコードをより速く見つけることができます。
たとえばSELECT * from branches where name='Washington
、インデックスを介して、ログ時間内にレコードに到達するために辞書順でナビゲートします。
しかし、結合で使用する列にインデックスを付ける場合、これはどのように機能するのでしょうか?
例えば
SELECT BILLS.NAME NAME, BILLS.AMOUNT AMOUNT FROM BILLS,BANK_ACCOUNTS WHERE BILLS.ACCOUNT_ID = BANK_ACCOUNTS.ACCOUNT_ID
BILLS(ACCOUNT_ID)
とのインデックスを作成した場合BANK_ACCOUNTS(ACCOUNT_ID)
、ナビゲーションはどのように速くなりますか? の各値を取得BANK_ACCOUNTS.ACCOUNT_ID
し、インデックスのツリーを使用してBILLS
一致するレコードを見つけるだけですか?
これが機能する方法である場合、結合で使用される列にインデックスを作成することを通常推奨するのはなぜですか。
1 つのインデックスのみが作成され、それは等価コンパレータの左側のテーブル、つまりBILLS
. それとも私が間違っていますか?