MySQL的事务与索引

学习目标:MySQL的事务与索引

学习内容:

索引:

1.当数据量比较大的时候,加快查询的速度,可以为表的字段添加索引
(create index 索引名 on 表/字段)
2.底层原理:运用到了B+树。

B+树的原理:

  1. 每个结点都可以存储多个key值,根据不同的Key值可以划分为不同的区间。
  2. 每个叶子结点存储的是索引+值,每个非叶子结点存储的是这个Key值(id)
  3. 每一个的key值在叶子结点中都是处于一个最大值,然后相邻的叶子结点是首位相
    邻的就跟链表一样。

B+树的优势:

  1. 主要是用于缓慢查询的效率特别高,特别删除缓慢查询。
  2. 每次查出来的数据都会准确的落在叶子结点上,查出的来的数据很准确。

常用的索引的sql语句:
show index from 数据库
create index 索引名 on 表名
drop index 索引名 on 表名

事务

四个特性:
1.原子性:对于多个事务来说,要么一次执行成功,否则就会事务回滚,全部执行失败,来保证数据的一致性。
2.一致性:事务执行前后的数据要对应的上。
3.持久性:所有执行过的事务都会保留在磁盘上。
4.隔离性:多个并发的事务直接会产生影响,尤其是它们操作同一个数据库或者是同一张数据表。

显示与隐式事务

一般的insert,update,delete都是隐式事务,如果是在sql语句之前加上了start transaction,后面加上rollback or commit事务回归或者事务提交。这样的就叫显示事务。

事务并发出现的问题:

1.脏数据的读写:如果一个事务是读取,另一个是写,而且它们两个是并行就会发生读取的数据是修改之前的数据,不是正确的数据了。
2.写事务和读事务冲突。
解决:
加上一个读写锁,在读取事务的执行过程中,不允许写的事务,这样就可以保证数据的一致性了。或者是在写事务的执行过程中,不允许读的事务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值