ORACLE 数据库对象
ORACLE 数据库对象
——索引
q 索引是与表相关的一个可选结构
q 用以提高 SQL 语句执行的性能
q 减少磁盘I/O
q 使用 CREATE INDEX 语句创建索引
q 在逻辑上和物理上都独立于表的数据
q Oracle 自动维护索引
索引的目标:提高查询性能
索引对增删改查的影响
SQL语句
对性能的影响
SELECT
查询性能提高
UPDATE
更新删除时需要先查询,从此角度性能提高
更新删除时引起索引修改,从此角度性能下降
DELETE
INSERT
增加引起索引改变,索引对其负面影响更大,性能下降
什么时候建立索引?
1. 需要频繁查询的数据
2. 数据量较多
3. 该列不会频繁 update/insert/delete
4. 在 where/order by/group by 字句中出现的列
5. 在高基数列上建立索引(重复数据不多)
empno
ename
sal
1
HUANGPei
1000
1
HUANGPei
1000
3
HUANGPei
1000
4
HUANGPei
1000
empno
ename
sal
1
HUANGPei
1000
1
HUANGPei
1000
1
HUANGPei
1000
1
HUANGPei
1000
基数:3/4
基数:1/4
索引的类型
唯一索引
位图索引
组合索引
基于函数的索引
反向键索引
创建标准索引
CREATE INDEX item_index ON itemfile (itemcode)
TABLESPACE index_tbs;
重建索引
ALTER INDEX item_index REBUILD;
删除索引
DROP INDEX item_index;
唯一索引
q 唯一索引确保在定义索引的列中没有重复值
q Oracle 自动在表的主键列上创建唯一索引
q 使用CREATE UNIQUE INDEX语句创建唯一索引
CREATE UNIQUE INDEX item_index
ON itemfile (itemcode);
组合索引
q  
相关文档:
delete from tbl_talbe
where (col1,col2,col3) in
(select col1,col2,col3
from tbl_table
group by col1,col2,col3
&nbs ......
Oracle提供的序号函数:
以emp表为例:
1: rownum 最简单的序号 但是在order by之前就确定值.
select rownum,t.* from emp t order by ename
行数
ROWNUM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
11
7876
ADAMS
CLERK
7788
1987-5-23
1100
20
2
2
7499
ALLEN
SALESMAN
7698
......
1
2
3
作者: 来源: 更新日期:2006-01-04
5
6
7
建立表空间
8
9
CREATE TABLESPACE data01
10
DATAFILE '/oracle/oradata/d ......
Create directory让我们可以在Oracle数据库中灵活的对文件进行读写操作,极大的提高了Oracle的易用性和可扩展性。
其语法为:
CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';
本案例具体创建如下:
create or replace directory exp_dir as '/tmp';
目录创建以后,就可以把读写权限授予特定用户 ......