
Mysql
文章平均质量分 65
记录Mysql使用过程中的学习心得
码农十七
这个作者很懒,什么都没留下…
展开
-
Mysql存储引擎
B+树新加新的数据时,主键如果自增,B+树只需要在后面的节点依次新增新的节点存放数据,而且也会做一个新增节点和上一个节点的平衡,而主键不自增时,则会导致新的数据插入到之前的节点中,会和之前的节点进行比较,直至找到和新数据大小相邻的节点中,然后还会做一个新的平衡,而这个平衡则可能涉及很多节点索引的排序,效率会很低。特点:先从索引文件中查找索引,然后通过索引索引对应的磁盘文件地址,再从数据文件中查找数据,索引文件和数据文件分开的,这样的索引也叫做非聚集索引,也称非聚簇索引。我们从根节点查找元素进行对比时,原创 2024-09-25 21:48:48 · 225 阅读 · 0 评论 -
MySQL中索引失效场景
参考原创 2024-09-25 16:21:40 · 184 阅读 · 0 评论 -
Mysql索引底层数据结构
索引是排好序的数据结构,如何较为高效地存取数据?或者说为什么要使用索引呢?没有索引的情况下,我想通过select * from t where t.Col2=89;这条数据,那么首先则会通过跟磁盘进行I/O操作,从磁盘读取数据,然后将会从第一行0x07这个文件地址依次往下查找对比,共需要查找6次,即全表扫描。原创 2024-09-25 21:37:33 · 439 阅读 · 0 评论 -
mysql事务mvcc模型实现原理
MVCC全称是Multi-Version Concurrency Control(多版本并发控制),是一种并发控制的方法,通过维护一个数据的多个版本,减少读写操作的冲突。如果没有MVCC,想要实现同一条数据的并发读写,还要保证数据的安全性,就需要操作数据的时候加读锁和写锁,这样就降低了数据库的并发性能。有了MVCC,就相当于把同一份数据生成了多个版本,在操作的开始各生成一个快照,读写操作互不影响。无需加锁,也实现数据的安全性和事务的隔离性。事务的四大特性中隔离性就是基于MVCC实现的。原创 2024-09-25 12:00:46 · 1042 阅读 · 0 评论