创新互联OceanBase教程:OceanBaseCREATEOUTLINE

描述

该语句用来创建 OUTLINE。可以通过两种方式创建,一种是通过 SQL_TEXT(用户执行的带参数的原始语句),另一种是通过 SQL_ID 创建。

岳池ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!


注意 

创建 OUTLINE 需要进入对应的用户下执行。

格式

  • 使用 SQL_TEXT 创建 OUTLINE


CREATE [OR REPLACE] OUTLINE outline_name ON stmt [ TO target_stmt ]
  • 使用 SQL_ID 创建 OUTLINE


CREATE OUTLINE outline_name ON sql_id USING HINT  hint;

参数解释

参数

描述

outline_name

指定要创建的 OUTLINE 名称。

OR REPLACE

指定 OR REPLACE 后,如果要创建的 OUTLINE 已存在,则会替换原有的 OUTLINE。

stmt

一般为一个带有 hint 和原始参数的 DML 语句。

TO target_stmt

如果不指定 TO target_stmt, 则表示如果数据库接受的 SQL 参数化后与 stmt 去掉 hint 参数化文本相同,则将该 SQL 绑定 stmt 中 hint 生成执行计划;如果期望对含有 hint 的语句进行固定计划,则需要 TO target_stmt 来指明原始的 SQL。

注意 

在使用 target_stmt 时,严格要求 stmt 与 target_stmt 在去掉 hint 后完全匹配。

sql_id

如果 sql_id 对应的 SQL 语句已经有 hint,则创建OUTLINE 指定的 hint 会覆盖原始语句中所有 hint。

hint

格式为 /*+ xxx */ 。

示例

  • 使用 SQL_TEXT 创建 OUTLINE


CREATE OUTLINE otl_idx_c2 
       ON SELECT/*+ index(t1 idx_c2)*/ * FROM t1 WHERE c2 = 1;
  • 使用 SQL_ID 创建 OUTLINE


CREATE OUTLINE otl_idx_c2 
ON 'ED570339F2C856BA96008A29EDF04C74'
USING HINT /*+ index(t1 idx_c2)*/ ;

注意事项

当 SQL_ID 相同时,使用 SQL_TEXT 方式创建的 OUTLINE 会覆盖 SQL_ID 方式创建的 OUTLINE,SQL_TEXT 方式创建的优先级更高。

此外,OceanBase 数据库通过 SQL_ID 区分不同的 SQL,而 SQL_ID 是通过 SQL_TEXT 取 MD5 加密得到的,相同的 SQL 文本即使多一个换行或制表符,MD5 得到的 SQL_ID 都会不同。在实际生产系统中,推荐通过 SQL_ID 进行 OUTLINE 绑定。

文章题目:创新互联OceanBase教程:OceanBaseCREATEOUTLINE
文章网址:http://www.mswzjz.com/qtweb/news16/169666.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联