戚权20201204
知识点
视图
视图就是封装了一条复杂查询的语句,视图提供了一个查询的窗口,所有的数据来自于原表。
视图是从一个或多个表导出的虚拟的表,其内容由查询定义。具有普通表的结构,但是不实现数据存储。
创建视图需要有 dba 角色或者 create view 权限才可以
索引
索引是用于加速数据读取的数据对象。合理的使用索引可以大大降低 i/o 次数,从而提高数据访问性能。
索引就是在表的列上构建一个二叉树达到提高查询速度的目的,但是会影响增删改的效率。
单列索引触发规则是 where 条件必须是索引列的原始值。
复合索引中第一列是优先检索列,如果要触发复合索引必须包含优先检索列的原始值。(最左前缀原则)
索引的使用原则:
在大表上建立索引才有意义
在 where 子句后面或者是连接条件上的字段建立索引
表中数据修改频率高时不建议建立索引
列值比较单一的列(重复数据较多的列)不建议建立索引,如性别等
像单行函数、模糊查询、IS NULL、IS NOT NULL、以及运算都会影响索引的触发。
PL/SQL
PL/SQL是一种块结构的语言,一个PL/SQL程序包含了一个或者多个逻辑块,逻辑块中可以声明变量,变量在使用之前必须先声明。除了正常的执行程序外,PL/SQL还提供了专门的异常处理部分进行异常处理
% ROWTYPE
引用数据库表中的一行作为数据类型,即RECORD类型(记录类型),是PL/SQL附加的数据类型。表示一条记录,就相当于Java中的一个对象。可以使用“.”来访问记录中的属性
%TYPE
引用某个变量或者数据库的列的类型作为某变量的数据类型。
IF-THEN-ELSE
-- PL/SQL中IF语法
IF 条件 THEN
--条件成立结构体
ELSE
--条件不成立结构体
END IF;
CASE
CASE [selector]
WHEN 表达式1 THEN 语句序列1;
WHEN 表达式2 THEN 语句序列2;
WHEN 表达式3 THEN 语句序列3;
……
[ELSE 语句序列N];
END CASE;
LOOP 循环
LOOP
--循环体
END LOOP;
游标 Cursor
CURSOR 游标名 [ (参数名 数据类型,参数名 数据类型,...)] IS SELECT 语句;
总结
今天的内容不是很难
近期评论