无名 发表于 2022-5-8 20:16:51

【夜未央】Oracle day09 教程

一、事务
1.在数据库中事务是最小逻辑单元,一个事务是由一个或多个完成一组的相关行为的sql语句组成,通过事务机制确保这一组sql语句所作的操作要么完全成功执行,完成整个工作单元操作,要不一点也不执行。

2.提交事务
(1)提交事务是指把对数据库进行的全部操作持久化性的保存在数据中,这种操作通常使用commit语句来完成。

(2)Commit;3.回滚事务

(1)回滚事务是指撤销对数据库进行的全部操作。Oracle利用回滚段来存储修改前的数据,通过重做日志来记录对数据所做的修改

(2)Rollback ; 等于(撤回),提交了就不可以回滚了二、事务包含四种重要特性(被统称acid)1.原子性(Atomicity)

(1)一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可以只执行其中的一部分操作。

2.一致性(Consistency)
(1)就拿转账来说,A(200元)跟B(800元)加起来一共1000元,B转300给A结束后A跟B加起来的钱还是1000元。

3.隔离性(Isolation)
(1)通常来说,一个事务所做的修改在最终提交之前,对其他事务是不可见的。

4.持久性(Durability)
(1)一旦事务提交,则其所做的修改就会永久的保存到数据库中。不会因为系统故障等情况而丢失所做的修改。三、索引(sql优化)

1.索引分类
(1)物理分类
①分区或非分区索引
②B树索引(标准索引)
1)Create index 索引名 on 表名(字段)
③正常或反向键索引
1)方向键索引反转索引列键值的每个字节
2)通常建立在值是连续增长的列上,使数据均匀地分布在整个索引上
3)创建索引时使用create index 索引名 on 表名(字段) reverse关键字
④位图索引
1)位图索引适合创建在低基数列上
2)位图索引不直接存储rowid,而是存储字节位到rowid的映射
3)减少响应时间
4)节省空间占用
(2)逻辑分类
①单列或组合索引
1)组合索引是在表的多个列上创建的索引
2)索引中列的顺序是任意的
3)如果sql语句的where子句中引用了组合索引的所有列或大多数列,则可以提高检索速度
②唯一或非唯一索引
1)唯一索引确保在定义索引的列中没用重复数值2)Oracle在表的主键上自动创建唯一索引
3)使用 create Unique index 语句创建唯一索引
③基于函数索引
1)基于一个或多个列上的函数或表达式创建索引2)表达式中不能出现聚合函数
3)不能在lob类型的列上创建
4)创建时必须具有query rewrite权限
2.获取索引的信息
(1)与索引相关的数据字典视图有:①User_indexes -- 用户创建的索引的信息②User_ind_columns -- 与索引相关的表列的信息四、表空间
1.表空间是数据库中最大的逻辑单位,一个Oracle数据库至少包含一个表空间,就是名为system的系统表空间

2.每个表空间是由一个或多个数据文件组成,一个数据文件只能与一个表空间相关联3.表空间的大小等于构成该表空间所有数据文件大小之和五、表空间的相关概念

1.段:
(1)段是构成表空间的逻辑存储结构,段由一组区组成
(2)按照段所存储数据的特征,将段分为四种类型,数据段、索引段、回退段和临时段2.区:(1)区为段分配空间,它由连续的数据块组成(2)当段中的所有空间已完全使用时,系统自动为该段分配一个新区
(3)区不能夸数据文件存在,只能存在于一个数据文件中
3.数据块:
(1)数据块是Oracle服务器所能分配、读取或写入最小存储单元。
(2)Oracle服务器以数据块为单位管理数据文件的存储空间。
4.创建表空间
(1)CREATE TABLESPACE test1 DATAFILE 'D:/test.ora' SIZE 10M5.删除表空间
(1)Drop TABLESPACE test1小结:- 索引是表行管的可选结构,用于更快地检索数据。除了标准索引外,还有唯一索引、组合索引、位图索引、反向键索引、基于函数的索引等。- 一个数据库由一个或多个表空间组成,每个表空间中的数据保存在一个或多个数据文件中
--小傅
http://cdn.u1.huluxia.com/g3/M01/7C/DD/wKgBOV3w6omAIKmOAAFnGZx8l9A930.jpg
页: [1]
查看完整版本: 【夜未央】Oracle day09 教程