戚权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 语句;

总结

今天的内容不是很难

标签

评论

this is is footer