mysql事务与索引

it2025-05-19  9

事务的概念

事务是用来保证业务操作的完整性、整个业务要么全部成功,要么全部失败,不允许部分成功,部分失败

事务的四大特性 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 表 ;

最新回复(0)