以 HTML 格式字符串的形式返回查询计划。
HTML_PLAN ( ) 注意需要考虑 CIS 函数补偿性能注意事项。
参数说明string-expression生成计划所使用的 SQL 语句。该语句主要是 SELECT 语句,但也可以是 UPDATE 或 DELETE 语句。 如果未向 HTML_PLAN 函数提供参数,则系统会从高速缓存将查询计划返回给您。如果高速缓存中没有查询计划,则会显示以下消息:
No plan availableHTML_PLAN 函数的行为由数据库选项 QUERY_PLAN_TEXT_ACCESS 和 QUERY_PLAN_TEXT_CACHING 控制。如果 QUERY_PLAN_TEXT_ACCESS 为 OFF(缺省值),则系统将显示以下消息:
Plan not available. The database option QUERY_PLAN_TEXT_ACCESS is OFF如果 QUERY_PLAN_TEXT_ACCESS 为 ON,且该字符串表达式的查询计划可用于服务器所维护的高速缓存中,则会从高速缓存返回查询计划。
借助 SELECT、UPDATE、DELETE、INSERT SELECT 和 SELECT INTO,HTML_PLAN 函数可用于向 Interactive SQL 返回查询计划。
用户可以查看针对 SAP IQ 查询打开的游标的查询计划。要获取最近打开的游标的查询计划,请使用:
SELECT HTML_PLAN ( );当 QUERY_PLAN_AFTER_RUN 选项为 OFF 时,计划会显示在 OPEN CURSOR 或 CLOSE CURSOR 之后。但如果 QUERY_PLAN_AFTER_RUN 为 ON,则必须先执行 CLOSE CURSOR,然后才能请求计划。
当针对 SAP SQL Anywhere 查询或 OMNI/CIS 分解查询请求 HTML_PLAN 时,系统将返回以下消息:
No plan. HTML_PLAN function is not supported for this type of statement or database.以下示例将 SELECT 语句作为字符串参数传递,并返回 HTML 计划以便执行查询。本示例将计划保存在文件 hplan.html 中。
SELECT HTML_PLAN ('SELECT * FROM Employees');
OUTPUT to 'C:\hplan.html' HEXADECIMAL ASIS QUOTE '';
子句 OUTPUT TO 对于含有格式设置字符(如制表符或回车符)的文本很有用。设置为 ASIS 时,值按原样写入而不发生任何转义,即使值中包含控制字符也是如此。
以下示例会返回高速缓存中的 HTML 查询计划(如果可用)。
SELECT HTML_PLAN ( );