概述
在上节看了DM 执行计划的信息:
https://www.cndba.cn/dave/article/3633
这里看下hint的相关用法。
1 Hint 概述
DM 查询优化器采用基于代价的方法。在估计代价时,主要以统计信息或者普遍的数据分布为依据。在大多数情况下,估计的代价都是准确的。但在一些比较特殊的场合,例如缺少统计信息,或统计信息陈旧,或抽样数据不能很好地反映数据分布时,优化器选择的执行计划不是“最优”的,甚至可能是很差的执行计划。
开发人员和用户对于数据分布是很清楚的,他们往往能知道 SQL 语句按照哪种方法执行会最快。在这种情况下,用户可以提供一种方法,指示优化器按照固定的方法去选择 SQL 的执行计划。
DM 把这种人工干预优化器的方法称为 HINT,它使优化器根据用户的需要来生成指定的执行计划。如果优化器无法生成相应的执行计划,该 HINT 将会被忽略。
HINT 的常见格式如下所示:
SELECT /*+ HINT1 [HINT2]*/ 列名 FROM 表名 WHERE_CLAUSE ;
UPDATE 表名 /*+ HINT1 [HINT2]*/ SET 列名 =变量 WHERE_CLAUSE ;
DELETE FROM 表名 /*+ HINT1 [HINT2]*/ WHERE_CLAUSE ;
如果 HINT 的语法没有写对或指定的值不正确,DM 并不会报错,而是直接忽略 HINT 继续执行。
通过 V$HINT_INI_INFO 动态视图查询 DM 支持的 HINT。HINT 参数分为两类, HINT_TYPE 为“OPT”表示分析阶段使用的参数;HINT_TYPE 为“EXEC”表
最后
以上就是斯文万宝路为你收集整理的oracle distinct 优化 no_merge,DM7 达梦数据库 查询优化 -- HINT 提示的全部内容,希望文章能够帮你解决oracle distinct 优化 no_merge,DM7 达梦数据库 查询优化 -- HINT 提示所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复