表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如: 0select /* all _rows*/ emp_no,emp_nam,dat_in from bsempms where emp_no= ccbzzp .
175. /* first_rows*/
表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如: 0select /* first_rows*/ emp_no,emp_nam,dat_in from bsempms where emp_no= ccbzzp .
176. /* choose*/
表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量.表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法.例如: 0select /* choose*/ emp_no,emp_nam,dat_in from bsempms where emp_no= ccbzzp .
177. /* rule*/
表明对语句块选择基于规则的优化方法.例如: 0select /* rule */ emp_no,emp_nam,dat_in from bsempms where emp_no= ccbzzp .
178. /* full(table)*/
表明对表选择全局扫描的方法.例如: 0select /* full(a)*/ emp_no,emp_nam from bsempms a where emp_no= ccbzzp .
179. /* rowid(table)*/
提示明确表明对指定表根据rowid进行访问.例如: 0select /* rowid(bsempms)*/ * from bsempms where rowid>= aaaaaaaaaaaaaa and emp_no= ccbzzp .
180. /* cluster(table)*/
提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效.例如: 0select /* cluster */ bsempms.emp_no,dpt_no from bsempms,bsdptms where dpt_no= tec304 and bsempms.dpt_no=bsdptms.dpt_no.
181. /* index(table index_name)*/
表明对表选择索引的扫描方法.例如: 0select /* index(bsempms sex_index) use sex_index because there are fewmale bsempms */ from bsempms where sex= m .
182. /* index_asc(table index_name)*/
表明对表选择索引升序的扫描方法.例如: 0select /* index_asc(bsempms pk_bsempms) */ from bsempms where dpt_no= ccbzzp .
183. /* index_combine*/
为指定表选择位图访问路经,如果index_combine中没有提供作为参数的索引,将选择出位图索引的布尔组合方式.例如: 0select /* index_combine(bsempms sal_bmi hiredate_bmi)*/ * from bsempms where sal<5000000 and hiredate 184. /* index_join(table index_name)*/
提示明确命令优化器使用索引作为访问路径.例如: 0select /* index_join(bsempms sal_hmi hiredate_bmi)*/ sal,hiredate from bsempms where sal<60000.
185. /* index_desc(table index_name)*/
表明对表选择索引降序的扫描方法.例如: 0select /* index_desc(bsempms pk_bsempms) */ from bsempms where dpt_no= ccbzzp .
186. /* index_ffs(table index_name)*/
对指定的表执行快速全索引扫描,而不是全表扫描的办法.例如: 0select /* index_ffs(bsempms in_empnam)*/ * from bsempms where dpt_no= tec305 .
提示明确进行执行规划的选择,将几个单列索引的扫描合起来.例如: 0select /* index_ffs(bsempms in_dptno,in_empno,in_sex)*/ * from bsempms where emp_no= ccbzzp and dpt_no= tdc306 .
188. /* use_concat*/
对查询中的where后面的or条件进行转换为union all的组合查询.例如: 0select /* use_concat*/ * from bsempms where dpt_no= tdc506 and sex= m .
189. /* no_expand*/
对于where后面的or 或者in-list的查询语句,no_expand将阻止其基于优化器对其进行扩展.例如: 0select /* no_expand*/ * from bsempms where dpt_no= tdc506 and sex= m .
190. /* nowrite*/
禁止对查询块的查询重写操作.
191. /* rewrite*/
可以将视图作为参数.
192. /* merge(table)*/
能够对视图的各个查询进行相应的合并.例如: 0select /* merge(v) */ a.emp_no,a.emp_nam,b.dpt_no from bsempms a (selet dpt_no ,avg(sal) as avg_sal from bsempms b group by dpt_no) v where a.dpt_no=v.dpt_no and a.sal>v.avg_sal.
193. /* no_merge(table)*/
对于有可合并的视图不再合并.例如: 0select /* no_merge(v) */ a.emp_no,a.emp_nam,b.dpt_no from bsempms a (selet dpt_no