这是我参与「第五届青训营」笔记创作活动的第14天。
-
RDBMS 事务 ACID
-
事务(Transaction):是由一组SQL语句组成的一个程序执行单元(Unit),它需要满足ACID特性
-
ACID
- 原子性( tomicity):事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生,
- 一致性(onsistency)):数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
- 隔离性(solation):多个事务并发访问时,事务之间是隔离的, 一个事务不应该髟响其它事务运行效果,
- 持久性( urability):在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
-
历史:
-
- 前DBMS时代 一 人工管理: 在现代计算机发明出来以前,通过人工的方式进行数据记录和管理
- 2.前DBMS时代一 文件系统:1950s,现代计算机的雏形基本出现。1956年1BM发布了第一个的磁盘驱动器--Model 305 RAMAC,从此数据存储进入磁密时代。在这个阶段,数据管理直接通过文件系统来实现.
-
- DBMSH: 1960s,传统的文件系统已经不能满足人们的需要,数据库管理系统(DBMS)应运而生。DBMS:按照某种数据模型来组织、存储和管理数据的仓库。所以通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
-
- SQL的一生: 1. SQL引擎 2.事务引擎 3.存储引擎
- SQL引擎 Parser:词法分析,语法分析(形成语法树),语义分析
优化器:
- 规则优化
- 条件化简
- 表连接优化(总是小表先进行连接)
- Scan优化
- 唯一索引
- 普通索引
- 全表扫描
数据库索引:是数据库管理系统中辅助数据结构,以协助快速查询、更新数据库表中数据。目前数 据库中最常用的索引1是通过B+树实现的。 - 基于代价的优化
存储引擎 innodb, B+树