日期:2014-05-16  浏览次数:20467 次

Oracle的约束和索引

 约束
--------------------
约束包括:
 not null、unique、primary key、foreign key、check
 not null(非空)
 如果在列上定义了 not null ,那么当插入数据时,必须为列提供数据
unique(唯一)
 当定义了唯一的约束后,该列的值是不能重复的,但是可以为null
primary key(主键)
 用于唯一的表示表的行的数据,当定义了主键约束后,该列不但不能重复而且不能为null.
 需要说明的是:一张表最多只能 有一个主键,但是可以有多个unqiue约束。
=========================================================   索引
----------------------
 单列索引
create index 索引名 on 表名(列名)

 复合索引
create index 索引名 on 表名(列名1,列名2); 
create index 索引名 on 表名(列名2,列名1);
sql的扫描是从后往前扫描的 所以把排除数据最多的放在后面

 索引的使用原则:
1.在  大表上建立索引才有意义
2.在where子句中或是在连接条件上经常引用的列上建立索引
3.索引的层次不要超过4层