时间:2021-07-01 10:21:17 帮助过:220人阅读
首先要看你的Oracle优化器采用的是RBO还是CBO, (1)如果使用的是RBO的话,会按照规则顺序来进行的. (2)如果使用的是CBO的话,那么可以使用HINT方式进行修改。 语法: SELECT /* index(table IndexName)*/ 如果查询语句中,表用到别名时,上边语句中的table一定
首先要看你的Oracle优化器采用的是RBO还是CBO,
(1)如果使用的是RBO的话,会按照规则顺序来进行的.
(2)如果使用的是CBO的话,那么可以使用HINT方式进行修改。
语法:SELECT /*+ index(table IndexName)*/
如果查询语句中,表用到别名时,上边语句中的table一定要是别名,否则不走执行强制索引。
例子:
select /*+INDEX(t IDX_DATE)*/ from student t where t.birthday > to_date('2010-12-28 00:00:00', 'yyyy-mm-dd hh24:mi:ss') and t.birthday < to_date('2010-12-28 23:59:59', 'yyyy-mm-dd hh24:mi:ss') group by t.class