一、事务
1.概念
事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向 系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
例子:转账,要求扣钱和进账同时成功
默认MySQL的事务自动提交,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。
2.事务操作
(1)方法1
当设置为手动提交之后,在执行任何DML语句时,都要在最后添加commit语句才能提交成功
如果出现异常,不要提交,而是需要执行rollback语句,将更改的部分数据进行恢复
(2)方法2
3.事务的四大特性
一致性指的是能量守恒
4.并发事务问题
(1)脏读(未提交)
(2)不可重复读(提交后)
(3)幻读
5.事务隔离级别
在最后一个隔离级别(级别最高,数据最安全,但性能最差)下,解决了三个并发事务问题
mysql中的默认隔离级别是repeatable read
二、存储引擎
1.MySQL体系结构
三、索引
1.概念
索引是帮助MySQL高效获取数据的数据结构(有序),这些数据结构以某种方式引用(指向)数据,这种数据结构就是索引
2.引入
不加索引时,要查询某一条数据,需要全表扫描
加上索引时,查询更加高效
优势:提高查询效率、提高排序效率
劣势:索引列占空间、降低更新表的速度
3.索引结构
索引是在存储引擎层实现的,不同的存储引擎有不同的结构:
(如果没有特别指明,都是指的B+Tree索引)