在AnySQL.net中搜索标签(Tags) 'Hint' 的结果:

Oracle 11g中有INDEX_COL这个Hint吗?

    当我们进行索引的联机维护(重命名, 改结构, 或删除)时, 会让现有的SQL走了错误的路径, 因为在现有的索引的HINT中一般都直接指明了索引的确切名字, 为了让SQL走新的索引, 你可能不得不去更改SQL中的HINT, 或用Outline来实现, 这样其实并不方便. 另外对于开发人员来说, 他们或许不知道那个索引更好, 但他们一般知道这个表上那个列的可选择性(Selectivity)好一些. 如果有方法能让Oracle的优化器选择某些列或以某些列前导的索引, 对DBA及开发人员都将十分有利. 一年多以前我就想让Oracle加一个INDEX_COL的HINT, 在用时我们只需要指定"index_col(表名, 列, ...)"就行了.     为此我在Google讨论组上发了这个点子, 有人提示我Oracle已经有一个没有公开的HINT来实现这个功能了, 是Jonathan Lewis在10g版本中发现的, 对于这个用法, 我个人十分喜欢, 想不出大师是如何发现这个的? Oracle有内鬼和他相通?     下面是这个HINT的一个用法, 将让Oracle选择以COL1或COL1+COL2列开头的索引(需要做实验验证一下), 但不会选择以COL2列开始的索引, 这一点要注意了, 不过不同的版本中, Oracle会有所更改. 不知道这个功能在Oracle 11g中有没有作出改进?...

根据标记(Tags)来查找:

分类 | Categories

本站基于MT-3.36免费版, 和Fenng设计的模板.
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql