MySQL索引、事务、锁机制总结

本文总结了MySQL的索引类型,包括B+树的优势和B树的区别,聚簇索引与非聚簇索引的概念。接着讨论了数据库事务的ACID特性以及并发执行时可能出现的问题和四种隔离级别。最后,介绍了锁机制中的表锁和行锁,以及共享锁和排他锁,并分析了数据库死锁的成因和解决方案。
摘要由CSDN通过智能技术生成

随着理解的深度和广度的增加后续不断更新…

1.索引

定义: 是对数据库表中一列或者多列的值进行排序的一种结构,使用索引能快速的访问数据表中对应的信息。

索引的底层数据结构:innodb和myisam底层使用的B+树存储索引。
B+树:非叶子结点只存索引值和指针,不存储数据。
B树:非叶子结点不仅存储索引值还存储数据。
多路查找树(B+,B)和其他的二叉树进行对比分析
同样的数据量多路查找树的高度更加低,而且节点数也会更少。这样又两个好处1、查找的时间复杂度降低(高度低)。2、节点减少,磁盘I/O次数减少,节省I/O时间。

B树和B+树的对比:
1、B+树的所有数据都在最后一层的叶子节点里面,B树的数据在每个结点中,所以B+树查询性能更加稳定,直接到最后一层找。
2、B+树非叶子节点中没有存数据,B树非叶子节点中存了数据,B+树的非叶子节点结点占用的空间小,同样空间大小,磁盘单次I/O读取的B+树结点数量就要多,也就是说前者节省磁盘I/O时间。
3.B+树的叶子节点存在一个指针指向下一个非叶子节点,而且还是有序的,所以说B+树存储索引更加的适合范围查找。

**聚簇索引:**也称主键索引,索引树中的叶子结点存的是整行数据。(一张表中只能有一个主键索引)
**非聚簇索引:**也称普通索引,索引树中的叶子结点存储的是对应的主键索引的值。利用普通索引查询数据的过程是先找到对应的主键索引,然后根据查出来的主键索引去查询数据。

2.事务

数据库事务ACID:

原子性: 一个事务中的所有操作,要么全部执行,要么就全部都不执行。
一致性: 事务执行之前和执行完成之后,数据由一个一致性状态转换到另一个一致性状态。类似于银行转账。
隔离性: 事务之间是相互隔离的,一个事务的执行不能影响到其他事务的执行。
持久性: 一旦事务提交,对数据库的修

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值