oracle如何强制索引 oracle强制走索引语句

Oracle如何加强制索引

就你的目的来说:

创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元扬中做网站,已为上家服务,为扬中各地企业和个人服务,联系电话:13518219792

1.建议建立一个以paytime,id,cost的复合索引。光是在paytime上建立索引会产生很多随机读。

2.就算建立了索引,如果你查询的数据量很大的话,也不一定会用索引,有时候全表扫描速度比索引扫描要快!(官方文档上好像说的是大概10%,就是如果你查询的数据占到总数据的10%,全表扫描比索引快)。

3.建复合索引语句如下(建议去看看官方文档,建索引有很多参数,而且每个版本的ORACLE也不一定一样):

CREATE INDEX TEST_index ON CONSUME_test

(PAYTIME,ID, COST)

LOGGING

TABLESPACE INDEX_A

NOPARALLEL;

最后说一句,ORACLE好像没有“强制索引”的说法的!

oracle查询单一数据添加强制索引

强制加索引使用hint即可 例如 select /*+index(table_name,index_name)*/ * from table_name where xxxx;

现在的问题是,如果你所查询的字段有索引,表也做过表分析,统计数据是正确的,写法也没问题。CBO会自主判断,选择合适的索引的。hint方式只是在CBO判断出错时,我们人工进行干预执行计划。尽量让CBO自己来工作。

oracle怎样强制执行某个索引

使用强制索引,在SELECT 后面加上/*.......*/ 中间加上索引的属性,代码如下:

SELECT /*+index(t pk_emp)*/* FROM EMP T   

--强制索引,/*.....*/第一个星星后不能有空格,里边内容结构为:加号index(表名 空格 索引名)。

--如果表用了别名,注释里的表也要使用别名。


文章标题:oracle如何强制索引 oracle强制走索引语句
本文链接:http://myzitong.com/article/hepsoh.html