0
私はSQLクエリを調整しています。説明計画をチェックすると、テーブルINTERFACE_ADT_AOE_MASTERとTEST_REQUIREDがフルテーブルスキャンの対象となります。私は、これは、これらのテーブルは、全表スキャンのために行くされているサブクエリですSQLの結合テーブルのインデックスを作成する方法
にTable ***INTERFACE_ADT_AOE_MASTER
Columns***
TESTCODE_MASTER_ID,
SOURCE_SYSTEM,
TEST_CODE,
QUESTION_CODE,
EAST_WEST_FLAG,
UOM,
STATUS,
MATCH_TYPE,
CREATED_DT,
STATUS_UPDATED_DTM,
QUESTION_CAPTION
Table ***TEST_REQUIRED***
Columns
TEST_REQUIRED_ID Primary Key,
TEST_ID,
REQUIRED_TEST_CODE,
CREATED_DATE,
MODIFIED_DATE
をインデックス
テーブル構造を作成します。
(SELECT TEST_ID
FROM TEST_REQUIRED
WHERE REQUIRED_TEST_CODE IN
(SELECT TEST_CODE FROM INTERFACE_ADT_AOE_MASTER
)
)
REQUIRED_TEST_CODE
とTEST_CODE
は同じです。
誰も私にそのインデックスを作成する方法を教えてもらえますか?全表スキャンのために別の理由があり得ること
(SELECT TEST_ID
FROM TEST_REQUIRED
WHERE EXISTS
(SELECT 1 FROM INTERFACE_ADT_AOE_MASTER WHERE TEST_CODE = REQUIRED_TEST_CODE)
)
注:完全なクエリとEXPLAIN PLANを見ずにINTERFACE_ADT_AOE_MASTER.TEST_CODE上のインデックスとにあなたのサブクエリを変更を加えるおかげで事前に
どのSQLデータベースですか? – maSTAShuFu
@maSTAShuFu Oracle 11g – kushi
申し訳ありませんが、オラクルを使用したことはありませんが、SSMSを使用したSQL Serverでは、クエリ実行プランを使用して、 – maSTAShuFu