`
灬烟丶醉
  • 浏览: 9304 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

Oracle 总结

阅读更多

Oracle 总结

Oracle:

什么是索引:

索引的定义:相当于文档的目录,它可以让你快速的浏览表中的数据;

使用索引的优点:

通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 

可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 

可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 

使用索引的缺点:

创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。 

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

什么时候建立索引:

在经常需要搜索的列上,可以加快搜索的速度; 

在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; 

不该建立索引的地方:

对于那些在查询中很少使用或者参考的列不应该创建索引;

当修改性能远远大于检索性能时,不应该创建索引;

使用索引要注意一些什么:

使用不等于操作符(<>、!=);

使用IS NULL 或IS NOT NULL;

建了索引的列上不能有空值;

什么是视图:

视图的定义:视图就是一个虚拟表,也可以说是一个保存了的查询;

普通视图:它相当于是一个虚拟表,也可以说是一个保存了的子查询;

物化视图:它是一个实实在在的表,可以说是基表的副本,

普通视图和物化视图的区别:

普通视图不占用内存,而物化视图是实实在在的表,需要一定的内存来维持;

普通视图可以做增、删、改、查,但是基表数据也会改变;

物化视图也可以做增、删、改、查,但是它的基表数据不会改变;你也可以让它做到和基表同步,使用no commit和no demand就可以让它与基表同步;

Oracle的体系结构:

定义:数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制;

Oracle的物理结构:

Oracle的物理结构:

控制文件

数据文件

在线重做日志文件

如何划分物理结构:由表空间,段,区,块组成;

Oracle的内存结构:

SGA:当启动实例的时候分配;

SGA中由:共享池、数据库缓冲区、日志缓存区等等组成;

共享池:里面包含了库缓存、数据库字典;

库缓存:是用来保存最近执行的SQL语句;

数据库字典:是用来保存用户的对象和权限;

数据库缓冲区:用来存储数据,

日志缓存区:用来保存的是修改和删除了的数据;

PGA:当servlet容器启动的时候分配;

PGA由:Java池和lange池组成;

SQl执行过程:

1、先查询共享池是否存在,若是存在直接运行第10条;

2、语法检查,若是有错误,则把错误信息返回给用户;

3、语义查询;

4、视图转换;

5、表达式转换;

6、选择优化器;

7、选择连接方式和连接顺序;

8、选择搜索路径;

9、生成执行计划;

10、运行计划;

11、查看数据库是否存在,如果存在,直接查询数据并返回;若不存在则从数据文件中读取数据并返回;

Package:

Package的作用:简化应用设计、提高应用性能、实现信息隐藏、子程序重载;

package的好处:在package里可以定义公共的变量/类型,既方便了编程,又减少了服务器的编译开销,在不同的package中可以有相同的存储过程名;

存储过程:

什么是储存过程:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来;

存储过程的三部分:过程声明,执行过程部分,存储过程异常。

使用存储过程需要注意要点:

不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程;

存储过程中的入参和返回值都不带取值范围,in 代表入参,out代表返回;

使用存储过程的优点:存储过程只会编译一次,只会在创建该存储过程时编译,从而提高数据库执行速度;存储过程可以复用,从而减少了数据库开发人员的工作量;

DBLink:

定义:将多个不同地点的服务器的oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个远程的数据库中的对象;

好处:

同义词:

它是什么:从字面上理解就是别名的意思,和试图的功能类似。就是一种映射关系。

同义词的作用:同义词是数据库方案对象的一个别名,用来简化对象访问和提高对象访问的安全性;

同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义;

游标:

什么是游标:游标是SQL的一个内存工作区,由系统或用户以变量的形式定义;

游标分为:隐式游标和显示游标;

隐式游标:它是Oracle系统自动分配的游标;

显示游标:在PL/SQL程序中定义的、用于查询的游标称作显示游标隐式游标和显示游标的使用:当查询开始时隐式游标打开,查询结束时隐式游标自动关闭。显式游标在PL/SQL块的声明部分声明,在执行部分或异常处理部分打开,取出数据,关闭

使用游标的过程:

1、打开游标;

2、开始循环游标;

3、从游标中取值;

4、返回值;

5、处理;

6、关闭循环;

7、关闭游标;

使用游标有什么好处:可以一行一行的通过写的逻辑来处理数据;

触发器:

什么是触发器:是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们;

触发器名:触发器对象的名称。

由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。

触发时间:指明触发器何时执行,该值可取:

before---表示在数据库动作之前触发器执行;

after---表示在数据库动作之后出发器执行。

  触发事件:指明哪些数据库动作会触发此触发器:                       

        insert:数据库插入会触发此触发器; 

update:数据库修改会触发此触发器;

delete:数据库删除会触发此触发器。

oralce中sql优化:

1、尽量少用in;

2、不要使用 is not null和is null;

3、少使用%和_ ,会导致索引失效;

4、将数据量小的表放后面;

5、将过滤条件能过滤最多的放后面;

6、union all代替 union ;

Oracle常用函数:

1、lower() 将括号内内容转成小写;

2、upper() 讲括号内内容转成大写;

3、lpad() 返回指定长度的字符串;

4、to_date();

5、to_char();

6、length() 返回长度;

7、to_number() 将括号内内容转换成number;

8、nullif() 判断null;

9、abs() 返回一个值的绝对值;

10、

11、

 

2
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics