五、Oracle的常识点

1、Oracle中使用rownum来进行分页,这个是效率最好的分页方法

select * from 
( select rownum rn,a from tabName where rownum<=20) 
where r>10

2、Oracle的索引使用

创建索引:

create index index_name on table_name(collum_name)

索引使用规则:

  1、经常和其他表进行连接的表,在连接字段上应该建立索引。

  2、经常出现在where子句中的字段而且过滤性很强的,特别是大表的字段,应该建立索引

索引的优点:

  1、建立唯一性索引,可以保证数据库表中的每一行数据的唯一性

  2、大大加快数据的检索速度,加速了表和表之间的连接,特别是实现数据的参照完整性。

  3、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间

索引的缺点:

  1、索引创建在表上,不能创建在索引上

  2、创建索引和维护索引耗费时间,时间随着数据量的增加而增加

  3、索引需要占用物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间,如果要建立聚集索引,那么消耗的空间更大,一个表只能有一个聚集索引。

  4、当对表中的数据进行增加,删除,修改的时候,索引也需要动态的维护,降低了数据的维护速度。

3、视图的使用

创建视图:

create view view_name as select column_name from table_name

视图的优点:

  1、可以简单的将视图理解为SQL查询语句,视图最大的好处就是不占用系统空间

  2、一些安全性很高的系统,不会公布系统的表结构,可能会使用视图将一些敏感信息过滤或者重命名后公布结构

  3、简化查询,可以控制权限,在使用的时候需要将视图的使用权限grant给用户。

4、合并查询

有时候,为了合并多个select语句的结果,可以使用集合操作符号UNION,UNION ALL,INTERSECT,MINUS多用于数据量比较大的数据库,运行速度快。

  1、union:取得两个结果集的并集,使用它时,会自动去掉结果集中重复行

  2、union all:也是取得两个结果集的并集,但是不会取消重复行,也不会排序。

  3、intersect:取得两个结果集的交集

  4、minus:取得两个结果集的差集。

5、维护数据的完整性

数据的完整性用于确保数据库数据遵从一定的商业规则和逻辑规则。

Oracle中,数据完整性可以使用约束,触发器,应用程序(存储过程,函数)来实现。这三个因为约束更容易维护,并且具有最好的性能,所以作为维护数据完整性的首选。

不过约束还可以用:not null,unique,primary key,foreign key,check

猜你喜欢

转载自www.cnblogs.com/drq1/p/9172247.html
今日推荐