mysql事务与索引

事务的概念

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

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

猜你喜欢

转载自blog.csdn.net/qq_40679091/article/details/109211805