【发布时间】:2017-11-03 11:34:17
【问题描述】:
我正在调整 SQL 查询。当我检查解释计划时,表 INTERFACE_ADT_AOE_MASTER 和 TEST_REQUIRED 正在进行全表扫描。我想创建一个索引
表结构
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 相同。
谁能建议我如何为其创建索引?提前致谢
【问题讨论】:
-
哪个sql数据库?
-
@maSTAShuFu Oracle 11 g
-
很抱歉从未使用过oracle,但在sql-server中通过SSMS我们可以使用查询执行计划来获取建议的索引来创建