Oracle中“HINT”的使用方法是怎样的?
Oracle中“HINT”的使用方法是怎样的?
在SQL语句优化过程中,经常会用到hint,下面我们来介绍一下在SQL优化过程中常见Oracle中"HINT"的30个用法: 1。 /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化。
2。 /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化。 3。 /*+CHOOSE*/ 表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量。
表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法。 4。 /*+RULE*/ 表明对语句块选择基于规则的优化方法。 5。 /*+FULL(TABLE)*/ 表明对表选择全局扫描的方法。 6。
/*+ROWID(TABLE)*/ 提示明确表明对指定表根据ROWID进行访问。 7。 /*+CLUSTER(TABLE)*/ 提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效。 8。 /*+INDEX(TABLE INDEX_NAME)*/ 表明对表选择索引的扫描方法。
9。 /*+INDEX_ASC(TABLE INDEX_NAME)*/ 表明对表选择索引升序的扫描方法。 10。 /*+INDEX_COMBINE*/ 为指定表选择位图访问路经,如果INDEX_COMBINE中没有提供作为参数的索引,将选择出位图索引的布尔组合方式。
11。 /*+INDEX_JOIN(TABLE INDEX_NAME)*/ 提示明确命令优化器使用索引作为访问路径。 12。 /*+INDEX_DESC(TABLE INDEX_NAME)*/ 表明对表选择索引降序的扫描方法。
13。 /*+INDEX_FFS(TABLE INDEX_NAME)*/ 对指定的表执行快速全索引扫描,而不是全表扫描的办法。 14。 /*+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,。。
。*/ 提示明确进行执行规划的选择,将几个单列索引的扫描合起来。 15。 /*+USE_CONCAT*/ 对查询中的WHERE后面的OR条件进行转换为UNION ALL的组合查询。 16。 /*+NO_EXPAND*/ 对于WHERE后面的OR 或者IN-LIST的查询语句,NO_EXPAND将阻止其基于优化器对其进行扩展。
17。/*+NOWRITE*/ 禁止对查询块的查询重写操作。 18。/*+REWRITE*/ 可以将视图作为参数。 19。 /*+MERGE(TABLE)*/ 能够对视图的各个查询进行相应的合并。 20。
/*+NO_MERGE(TABLE)*/ 对于有可合并的视图不再合并。 21。 /*+ORDERED*/ 根据表出现在FROM中的顺序,ORDERED使ORACLE依此顺序对其连接。 22。 /*+USE_NL(TABLE)*/ 将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表。
以上是我对于这个问题的解答,希望能够帮到大家。
问:同事ip:10.101.107.28 我的IP:10.101.104.23我们在...
答:你们公司是WINDOWS域环境吗,如果是的话,你在网上邻居里应该能看到对方的主机。让她把文件夹共享出来就可以。 如果不是WINDOWS域,那得看你们是不是在一个...详情>>
问:数据结构顺序表的建立,可定义顺序表 #define maxnum elemtyp...
答:打开VC ,然后点击新建,出来界面之后选择Win32 Console Application并输入工程的名称和选择项目的位置,然后出现“一个空工程”,在点击“...详情>>