次のようなクエリがあります。
select * from table1,table2 where table2.table1id = table1.id;
table2.table1id は、table1 の対応するエントリを指す外部キーです。table1 と table2 には主キーがあり、どちらも id と呼ばれます。
table2 は、myindex と呼ばれるセカンダリ インデックスでもあります。これが私の問題です。テスト中、
Microsoft SQL Server は、table2 (id) の主キーを使用する必要があり、"table1id" インデックスを直接使用する代わりに、テーブル 1 テーブルをスキャンして一致する ID を内部的に実行します。
ヒントを使用してクエリを作成し、二次キーを直接使用するように SQL に指示できることはわかっています。
ここに私の質問があります:
- これは必要ですか、それともヒントが不要になるようにデータベースのインデックスを設定する方法ですか。
これは現在、私の Java プログラムに埋め込まれたストレート SQL で書かれています。休止状態に移行した場合、休止状態は自動的にヒントを生成しますか?
リスト項目