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、
相关推荐
oracle命令总结
oracle oci接口的调用,个人笔记
oracle总结.chmoracle总结.chm
oracle总结 易错点,经典例子 适合于Oracle初学者,同样适合有基础人复习 该文档简单名了,让人更容易更lijie
自己总结的oracle的一些sql 从创建表开始 一直到游标、触发器、存储过程、子程序、包、函数等!
深度数据库设计及oracle总结 深度数据库设计及oracle总结
oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结oracle 总结...
JavaScript,Linux,Oracle总结归档JavaScript,Linux,Oracle总结归档
Oracle 总结的正则表达式并带有详细的例子与解释 对应优化语句很有帮助更能提高效率。 包括: REGEXP_LIKE , REGEXP_REPLACE , REGEXP_INSTR , REGEXP_SUBSTR 。
非常完整和齐的Oracle总结文档第2版本 经过大家反馈,修改第一版本中的很多错误 排版调整。
Oracle总结试题,希望对大家有帮助,正在学习数据库的可以看一下
学习概要总结
oracle总结文档
本人自己总结的尚学堂oracle笔记,希望能派上用场,本资源不收资源分,大家可以随意下载
Oracle总结大全,详细列举了oracle所有用法及函数说明
很难得的SQL(oracle)学习总结哟!
oracle 笔记总结