CREATE OUTLINE¶
说明¶
创建绑定计划
示例¶
示例1: 创建绑定计划
-- 切换到 SYSDBA 用户
CONNECT sysdba/szoscar55;
-- 启用outline
set ENABLE_USE_OUTLINE = TRUE;
-- 清理环境
DROP TABLE T1 CASCADE;
DROP OUTLINE OUT1;
-- 创建环境
CREATE TABLE T1(A INT);
CREATE INDEX IDX1 ON T1(A);
-- 创建outline前走索引扫描
EXPLAIN SELECT /*+ index(t1) */ * FROM T1;
QUERY PLAN(text)
----------------------
Index Scan using IDX1(
Fast Index Scan) on T
1 (cost=0.00..82.92
rows=8192 width=4)
总数目:1
-- 创建Outline
CREATE OUTLINE OUT1 ON SELECT /*+ full(t1) */ * FROM T1 MATCH SELECT /*+ index(t1) */ * FROM T1;
-- 再次查看计划
EXPLAIN SELECT /*+ index(t1) */ * FROM T1;
QUERY PLAN(text)
----------------------
Seq Scan on T1 (cost=
0.00..89.92 rows=8192
width=4)
Note: use outline OUT1
总数目:3
-- 查询系统表
SELECT OUTLINE_NAME,OUTLINE_DATA FROM SYS_OUTLINE;
OUTLINE_NAME(name) |OUTLINE_DATA(text) |
------------------------------------------------
OUT1 |/*+ FULL(@SEL$1 SYSDBA.T|
|1@SEL$1) */ |
总数目:1
-- 清理环境
DROP OUTLINE OUT1;
DROP TABLE T1;
RESET ENABLE_USE_OUTLINE;