db2 SQL 优化 hint 的使用

请问一下, SQL 优化里面 hint 使用是否普遍,可以举几个例子  ?
参与14

8同行回答

mdkiimdkii软件开发工程师bocn
Hint的使用在OLTP的应用里不多见。但是在OLAP的场景里会用到一些。OLAP里面一般SQL比较复杂,优化器有时候会犯傻。可以如果是动态SQL(OLAP一般都用动态SQL),在SQL语句后面直接加hint即可。使用方法就像6楼举的例子一样。还有的时候,我们可以用selectivity 帮助DB2算出合理一点...显示全部
Hint的使用在OLTP的应用里不多见。但是在OLAP的场景里会用到一些。
OLAP里面一般SQL比较复杂,优化器有时候会犯傻。
可以如果是动态SQL(OLAP一般都用动态SQL),在SQL语句后面直接加hint即可。
使用方法就像6楼举的例子一样。
还有的时候,我们可以用selectivity 帮助DB2算出合理一点的filter factor。比如
select xxx from t where length(c1) =10 。对于这种加函数的条件优化器是估不准,一般就用0.1代替了事。我们可以加个selectivity告诉一下DB2。
select xxx from t where ( length(c1) = 10 selectivity 0.8)。
要使用这两个功能得打开两个设置变量:
DB2_OPTPROFILE=yes和DB2_SELECTIVITY=ALLDB2的hint其实很强大的,一般情况都能应付,就是在DPF不能修改TQ的行为这点让人不爽。收起
银行 · 2015-06-25
浏览2202
新数科技新数科技IT顾问北京新数科技有限公司
举例:SELECT * FROM VARI AS T1 WHERE MAND = ? AND VARI = ? /* */建议使用ixscan扫描T1,同时使用索引“VARI~B”显示全部
举例:
SELECT * FROM VARI AS T1 WHERE MAND = ? AND VARI = ? /*

*/
建议使用ixscan扫描T1,同时使用索引“VARI~B”收起
IT咨询服务 · 2015-06-25
浏览1746
leo_wynleo_wyn商业智能工程师Security
通常使用 Optimization Profile , 请参考:http://www.ibm.com/developerwork ... icles/dm-1009hanrb/显示全部
通常使用 Optimization Profile , 请参考:
http://www.ibm.com/developerwork ... icles/dm-1009hanrb/收起
系统集成 · 2015-06-25
浏览1848
drdb2drdb2系统工程师se
不得已, not really.hint are widely used in Oracle world (especially earlier CBO and RBO days).If you look at inside of Oracle, many Oracle internal engine queries themselves use hint as well.Oracle hint is extremely user-friend and be much appreciate...显示全部
不得已, not really.

hint are widely used in Oracle world (especially earlier CBO and RBO days).
If you look at inside of Oracle, many Oracle internal engine queries themselves use hint as well.
Oracle hint is extremely user-friend and be much appreciated by the Oracle community.
Even mysql has a simple hint which is welcomed by users.
Unfortunately DB2 do not make things simple.收起
互联网服务 · 2015-07-06
浏览1849
wolfopwolfop其它Why should I tell you?
hint这玩意,在oracle下也应该是实在不得已才为之显示全部
hint这玩意,在oracle下也应该是实在不得已才为之收起
IT其它 · 2015-07-03
浏览1748
atpeace331atpeace331数据库管理员银行
回复 4# leo_wyn 多谢啦:lol显示全部
回复 4# leo_wyn
多谢啦:lol收起
银行 · 2015-06-25
浏览1765
atpeace331atpeace331数据库管理员银行
回复 2# leo_wyn    hint的使用例子,能否给一个吗?多谢多谢。显示全部
回复 2# leo_wyn


   hint的使用例子,能否给一个吗?多谢多谢。收起
银行 · 2015-06-25
浏览1785
leo_wynleo_wyn商业智能工程师Security
db2 不像 oracle , 至少 我很少使用 hint 去影响查询分析器生成的查询计划, 更多的是从源表和环境来找出问题的根本点,比如统计信息是否最新,是否谓词使用不当不能执行索引扫描等等显示全部
db2 不像 oracle , 至少 我很少使用 hint 去影响查询分析器生成的查询计划, 更多的是从源表和环境来找出问题的根本点,比如统计信息是否最新,是否谓词使用不当不能执行索引扫描等等收起
系统集成 · 2015-06-25
浏览1797

提问者

macrozeng
数据库管理员IBM

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-06-25
  • 关注会员:2 人
  • 问题浏览:6793
  • 最近回答:2015-07-06
  • X社区推广