Oracle 优化策略(二) 基表的选择
基础表(Driving Table)是指被最先访问的表(通常以全表扫描的方式被访问). 根据优化器的不同, SQL语句中基础表的选择是不一样的.
如果你使用的是CBO (COST BASED OPTIMIZER),优化器会检查SQL语句中的每个表的物理大小,索引的状态,然后选用花费最低的执行路径.
如果你用RBO (RULE BASED OPTIMIZER) , 并且所有的连接条件都有索引对应, 在这种情况下, 基础表就是from 子句中列在最后的那个表.
举例:
SELECT A.NAME , B.MANAGER
from WORKER A,
LODGING B
WHERE A.LODGING = B.LODING;
由于LODGING表的LODING列上有一个索引, 而且WORKER表中没有相比较的索引, WORKER表将被作为查询中的基础表.
相关文档:
Oracle日期函数集锦(二)
二、常用时间函数
1.trunc(sysdate,'Q') 本季度第一天
SQL> select trunc(sysdate,'Q') from dual;
TRUNC(SYSDATE,'Q')
------------------
2007-4-1
2.trunc(sysdate,'D') 本周的第一天(周日)
SQL> select trunc(sysdate,'D')from dual;
TRUNC(SYSDATE,'D')
------------------
2 ......
oracle数据库实例启动时,需要分配共享内存,启动后台进程。
oracle数据库使用的内存主要涉及到:PGA和SGA。
一、 PGA
Program Global Area,顾名思义是程序全局区,是服务器进程(Server Process)使用的一块包含数据和控制信息的内存区域,PGA是非共享的内存,在服务器进程启动或创建时分配,并为Server Process排他访 ......
1、 开始->设置->控制面板->管理工具->服务
停止所有Oracle服务。
2、 开始->程序->Oracle - OraHome81->Oracle Installation Products->   ......
--1查看表空间已经使用的百分比
select a.tablespace_name,a.bytes/1024/1024
"Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024
"free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_nam ......