ORACLE SQL性能优化
通过init.ora文件中OPTIMIZER_MODE声明
RULE (基于规则)
所遵循的是Oracle内部预定的一些规则。比如当一个where子句中的一列有索引时去走索引。
COST (基于成本)
你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性.
CHOOSE (选择性)
如果table已经被analyze过, 优化器模式将自动成为CBO , 否则使用RULE形式的优化器.
共享池(shared buffer pool)
第一次解析SQL之后, ORACLE将SQL语句存放在共享池中.
ORACLE只对简单的表提供高速缓冲(cache buffering)这个功能并不适用于多表连接查询.
在数据高速缓冲区中存放着Oracle系统最近使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用访问的数据。如果用户要查的数据不在数据高速缓冲区时,Oracle自动从磁盘中去读取。
init.ora中为这个区域设置合适的参数