oracle索引 约束简单总结

oracle索引 约束简单总结

什么时候应该建立索引?

   1.   表很大而且大多数查询的返回数据量很少(oracle推荐<总行数的2%——3%)
   2. 此列的取值范围很广,一般为随机分布。如年龄几乎18岁到60岁的都有
   3. 一列或多列经常出现where子句或连接条件中
   4. 表上的DML操作较少
   5. 此列中包含大量的空值(NULL)
   6. 此列不经常作为SELECT语句中某个表达式的一部分。基于函数的索引

 

 建了索引人家不一定用你的噢,如何确认伟大的oracle系统是否用了你的索引?

   1. explain plan for  select * from emp where ename like ‘J%’; //解释
   2. select id,operation,options,object_name,position from plan_table; //查看是否使用了索引

 

为什么引入约束?

   1. 当对表进行DML或DDL操作时,强加到表上的规则&条件

约束有些撒东西?

   1. (NN)非空——NOT NULL
   2. (UK)唯一——UNIQUE——在表中每一行中所定义的这列或这些列的值都不能相同
   3. (PK)主键——PRIMARY KEY——唯一标识表中的每一行
   4. (FK)外键——FOREIGN KEY——维护主表与从表之间引用完整性
   5. (CK)条件——CHECK——表中每行都要满足约束条件

你可能感兴趣的:(oracle,J#)