事务的概念
事务是用来保证业务操作的完整性、整个业务要么全部成功,要么全部失败,不允许部分成功,部分失败
事务的四大特性 ACID
A (原子性)
C (一致性)
I (隔离性)
D (持久性)
事务的隔离级别
读未提交 READ-UNCOMMITTED
读已提交 READ-COMMITED
可重复读 REPEATABLE-READ
序列化读 SERLALIZABLE
隔离级别产生的问题
隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
READ-UNCOMMITTED | 是 | 是 | 是 |
READ-COMMITED | 否 | 是 | 是 |
REPEATABLE-READ | 否 | 否 | 是 |
SERLALIZABLE | 否 | 否 | 否 |
脏读:一个事务读取到了另一个事务未提交的数据 (不允许)
不可重复读: 在不同的时候,同一个事物对数据读取的结果不一致
索引
视图: 简化查询、提高安全性
索引: 提高查询效率、但如果索引过多,会由于 增、删、改对应的操作进行索引维护变得频繁
索引分类
- 唯一索引/普通索引
- 组合索引/单列索引
索引创建的原则
1、主键、唯一键、外键 自带索引 (primary key, unique, foreign key)
2、经常出现在 where 条件的字段适合添加索引
3、某一个字段 值重复的概率不高的字段适合添加索引
创建索引
-
创建 单列 普通索引
create index 索引名 on 表(字段) -
创建 普通 组合索引
create index 索引名 on 表 (字段, 字段…) -
创建 单列 唯一索引
create unique index 索引名 on 表(字段) -
创建 唯一 组合索引
create unique index 索引名 on 表 (字段,字段…)
删除索引
drop index 索引名 on 表 ;