- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
Oracle优化器的优化方式和优化模式
录入:edatop.com 点击:
4、为什么有时一个表的某个字段明明有索引,当观察一些语的执行计划确不走索引呢?如何解决呢?
A、不走索引大体有以下几个原因
你在Instance级别所用的是all_rows的方式
你的表的统计信息(最可能的原因)
你的表很小,上文提到过的,Oracle的优化器认为不值得走索引。
B、解决方法
可以修改init.ora中的OPTIMIZER_MODE这个参数,把它改为Rule或Choose,重起数据库。也可以使用4中所提的Hint.
删除统计信息
SQL>analyze table table_name delete statistics;
表小不走索引是对的,不用调的。
5、其它相关
A、如何看一个表或索引是否是统计信息
SQL>SELECT * FROM user_tables
2 WHERE table_name=
3 AND num_rows is not null;
SQL>SELECT * FROM user_indexes
2 WHERE table_name=
3 AND num_rows is not null;
B、假如我们先用CBO的方式,就应当及时去更新表和索引的统计信息,以免生形不切合实的执行计划。
SQL> ANALYZE TABLE table_name COMPUTE STATISTICS;
SQL> ANALYZE INDEX index_name ESTIMATE STATISTICS;
上一篇:解读磁碟机病毒前世今生
下一篇:FTTH+LAN应用逐步推进


