嗯,是CBO。你要分析SQL的性能可以使用OEM带的sql analyze,它会告诉你SQL的性能结果。
其它俺也了解的不多,一起学习。
其它俺也了解的不多,一起学习。
解决方案 »
- 急!三天了!oracle10g服务能正常启动,可是SQLPLUS连接不了,“TNS:监听进程不能解析在连接描述符中给出的SERVICE_NAME”
- 好友关系表的设计
- 请问各位高手如何获得longrow字段的长度,判断是否为空!!!在线线等待!急!
- oracle中模糊查询数据库中存放表表名的表
- orcle805表空间的上限是多少?
- Oracle的transaction如何设置
- 语法问题,高手请进
- oracle 同一数据库、不同用户间、表操作的事务问题
- 求解oracle数据库迁移到mysql数据库的高效方法
- Oracle更新数据后,查询一次,数据就自动还原了
- 请教Pl SQL Package 的递归调用(含cursor)的效能问题。
- 问:一个过程可以返回多个游标吗?
方法1: analyze table tab_name compute statistics;
2:用DBMS_STATS程序包
建议先了解一下analyze的基本概念,然后使用dbms_stats操作
CBO只有分析结果才会生效……
CBO是根据统计信息进行开销计算,从而选择执行计划,所以如果SQL语句所访问的表,索引信息分析不全的话,CBO的开销统计也就不完整,因此生成的执行计划可能出现偏差。所以,分析信息CBO选择正确执行计划的基本条件。
一般来说,分析信息应当及时保证最新,可以用job定时跑。不过分析信息也不一定要时常更新,当表的数据发生大量变化时,应及时进行更新,以免执行计划出现偏差,若执行计划没有出现偏差,那么也可以不那么及时重新统计分析信息。