摘要:
--索引的定义,使用场景,常见的用法 索引是 对表中的数据进行排序之后,把数据以及所在的位置的行rowid都记录下来,记录到一个表当中(索引表)。当我们对数据进行查询的时候,首先 会差索引表,从索引表中查到rowid,直接访问rowid对应的行。 在index表新建索引 索引格式 create in 阅读全文
摘要:
优化的方式: 一、SQL语句的优化 1、表尽量使用别名,字段尽量使用别名.字段名,这样子,可以减少oracle数据库解析字段名。而且把不需要的字段名剔除掉,只保留有用的字段名,不要一直使用 select *。 2、关联查询时,选择好主表。oracle解析器对from 后面的表的解析是从右到左的,所以 阅读全文
摘要:
--视图 一段复杂的SQL,取一个别名作为表名,可以直接从这个表名中查询数据,当发生查询时,实际是 执行这段SQL并返回结果。 视图和表的区别在于: 表是实际存储数据。视图:用到的时候再查询,不存储数据,不占空间。 --使用者必须先赋权,有创建视图的权限。 grant create view to 阅读全文
摘要:
一、什么是触发器 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS , 阅读全文
摘要:
主键 主键是一种对表的约束,主键的特点是非空且唯一。--主键分为唯一主键和复合主键。--唯一主键:在一个列上创建的主键。--复合主键:在多个列上创建一个主键。--语法: ALTER TABLE 表名 ADD CONSTRAINT PK_约束名 PRIMARY KEY(列名 1[,列名 2...]) 阅读全文
摘要:
异常处理 异常处理,也叫作错误处理,通常是把异常记录在日志中 在存储过程中加上异常处理后,让异常原因记录在日志表中。 --注意:异常处理有自己的BEGIN..END..,意思就是异常处理的BEGIN..END..和存储过程的BEGIN..END..不共用。--语法: BEGIN 执行的语句 EXCE 阅读全文
摘要:
日志 日志是一张表,在这张表里面记录了存储过程的运行记录。(每执行一次存储过程,都会在日志表里面留下记录) --第一步:在用户下创建一张日志表。 CREATE TABLE LOG_RECORD( LOG_ID NUMBER, --就是一个行号(序列号) SP_NAME VARCHAR2(100), 阅读全文
摘要:
一、什么是拉链表 拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录,通过拉链表可以很方便的还原出拉链时点的客户记录。(也可以叫 缓慢变化维) 总的来说就是:对历史记录不做物理删除,而是用一个标识(起止时间 或者 有效标 阅读全文
摘要:
数据更新 数据更新分为两种:全量更新和增量更新。--全量更新:删除整张表的数据,然后再把最新的全部数据插入到表中。--适用范围:维度表(数据量少),数据量比较少的事实表或者宽表。--增量更新:不删除或者删除部分表中数据,只把最新产生的数据插入到表中,历史数据不动。--适用范围:数据量一定范围内增量比 阅读全文
摘要:
-- 查询语法格式 SELECT --从数据库表中检索数据行和列 FROM --数据来自哪些表 WHERE -- 哪些条件 AND -- 和 其他条件 OR -- 或 其他条件 GROUP BY -- 按条件分组 HAVING -- 分组后按条件过滤 ORDER BY -- 按条件排序 ASC -- 阅读全文