MySQL 数据库 索引和事务


当前第2页 返回上一页

?B+ 树相对于 B 树的改进:

  • 叶子节点存储每行记录,非叶子节点只要存储每行的索引值即可
  • 非叶子节点的值存在重复,使得叶子结点这一层是完整的数据集合
  • 可以通过类似于链表的方式,把所有的叶子节点连接起来

B+ 树的优势:

  • 善于进行范围查找
  • 由于所有的查询都是落在叶子结点上,故查询的速度是比较稳定的
  • 由于叶子结点是数据的全集,因此就可以把叶子结点存到硬盘上,非叶子结点直接存到内存中,大大降低了读取硬盘的次数

1.4 适用场景

  • 查找的次数比较多,插入删除的次数较少适合用索引
  • 由于索引本身也占据一定空间,如果磁盘紧张就不太适合用索引
  • 索引是指定某个列来建立的,当某列的区分度比较大的时候,适合用索引,例如自增主键

1.5 使用语句

补充:

创建主键约束(primary key)、唯一约束(unique)、外键约束(foreign key)时,会自动创建对应列的索引

1.5.1 查看索引

语法:

show index from 表名;

示例:

1.5.2 创建索引

语法:

create index 索引名 on 表名(字段名);

示例:

1.5.3 删除索引

语法:

drop index 索引名 on 表名;

示例:

注意:

主索引不能删除,删除会报错

2. 事务

2.1 概念

事物:是属于计算机中一个很广泛的概念,一般是指要做的或所做的事情。在关系数据库中,一个事务可以是一条 SQL 语句或者一组 SQL 语句或整个程序。

通俗的讲,比如银行转账的操作,A 转给 B 500元,那么这个操作其实包含了 A 账户余额减少500元和 B 账户余额增加500元两个操作。

事物就相当于将这一连串的动作给打包,使其成为一个整体,要么全都不做,要么全都做完

2.2 为什么使用事务

用上述银行转账的例子为例,假设 A 账户减少500元的操作成功了,但 B 账户增加500元的账户没有成功,那么这个转账的操作是失败的。

事物的核心特点就是: 把一系列操作给打包到一起,构成一个整体,要么全都做完,要么一个都不做。

全都不做是指: 如果某个操作失败了,那么就会将此时的中间状态偷偷还原回去

因此使用事物的话就可以保证,某一系列的操作,不会只完成其中一部分,它要么完全完成,要么都没有完成

2.3 四大属性

事务是恢复和并发控制的基本单位,它具有四个属性:原子性、一致性、持久性、隔离性

事物的核心是原子性

2.3.1 原子性

概念:

一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。

事物的核心是原子性,原子性的核心是回退为中间状态,回退为中间状态核心就是回滚,回滚的核心就是记住每步的操作

2.3.2 一致性

概念:

事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

执行事物之前和执行事物完成后,当前表里的数据都是合理的状态

2.3.3 持久性

概念:

持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

事物操作的数据都是直接操作硬盘,而硬盘的数据都是持久化的

2.3.4 隔离性

概念:

一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

2.4 使用方法

开启事物:

start transaction;


执行多条 SQL 语句

回滚或提交

-- 回滚:表示上述 SQL 语句全部失败
rollback;

-- 提交:表示上述 SQL 语句全部成功
commit;

到此这篇关于MySQL 数据库 索引和事务的文章就介绍到这了,更多相关MySQL 索引和事务内容请搜索

更多Mysql内容来自木庄网络博客


标签:Mysql

返回前面的内容

相关阅读 >>

mysql innodb索引原理的详细介绍(代码示例)

实例详解mysql解压包的安装基础教程

学习mysql不是内部命令的错误解决方案

mysql数据库锁定机制的介绍

docker案例分析搭建mysql数据库服务

mysql怎么在当前时间增加一小时

navicat for mysql定时备份数据库及数据恢复操作

怎么看mysql安装在哪?

mysql8.0修改密码的正确姿势分享

sqlyog连接mysql时出现1251错误怎么办

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...