当前位置: 首页> 财经> 创投人物 > 数据库----1

数据库----1

时间:2025/7/9 2:55:14来源:https://blog.csdn.net/chenDR333/article/details/139408331 浏览次数:0次

一、MVCC多版本并发控制

MVCC,多版本并发控制是现代数据库引擎中常用的处理读写冲突的手段,目的在于提高数据库高并发场景下的吞吐性能。(可以用来解决可重复读的问题)

二、数据库ACID实现原理

MYSQL通过支持ACID原理来保证事务的可靠性和一致性。
****原子性(Atomicity):即不可分割性,事务要么全部被执行,要么就全部不被执行。
****一致性(Consistency):事务的执行使得数据库从一种一致性状态转移到另一种一致性状态。
****隔离性(Isolation):事务在正确提交之前,不允许把该事务对数据的任何改变提供给其他任何事务。
****持久性(Durability):事务正确提交后,其结果将永久保存在数据库中,即使在数据提交后有了其他故障,事务的处理结果也会得到保存。

三、索引失效的场景

1.查询条件有or
2.like查询是以%开头
3.索引列上参与计算会导致索引失效
4.违背最左匹配原则
5.如果mysql估计全表扫描比使用索引要快,会不使用索引

四、索引

1.索引有哪些类型?
索引是帮助MYSQL高效获取数据的数据结构。
(1)普通索引:最基本的索引,没有任何限制
(2)唯一索引:与普通索引类似,不同的是索引列的值必须唯一,但是允许有空值
(3)主键索引:一种特殊的唯一索引,用于唯一标识数据表中的某一条记录,不允许有空值
(4)联合索引:多个字段上建立的索引,能够加速复合查询条件的检索
(5)全文索引:搜索数据表中字段是不是包含我们搜索的关键字,像搜索引擎中的模糊查询

五、MYSQL中为什么采用B+树?

B+树在MYSQL中具有多个优势。
首先,B+树的有序性可以提高查询范围的性能;
其次,B+树的叶子节点形成了一个有序链表,可以支持顺序遍历和范围查询;
此外,B+树内部节点不存数据,减少了存储空间的开销,同时还可以提高内存利用率;
B+树的平衡性可以保证查询的稳定和一致性,避免数据不平衡导致的性能问题。

六、B树和B+树的比较

1.B树一个节点存的是数据,B+树存储的是索引;所以B树一个节点的存储量有限,而B+树能存储很多地址;
2.B+树的叶子节点是数据阶段,用一个链表串联起来,便于范围查询。
此外,相比其他索引,如哈希索引,B+树在支持范围查询和顺序遍历方面更高效;哈希索引只能支持等值查询,而无法支持范围查询。

七、MYSQL支持的索引类型

B-Tree索引、哈希索引、空间索引、全文索引
B-Tree索引:大部分索引支持B+树索引
Hash索引:只有memory引擎支持,使用场景简单
空间索引:MyISAM支持,可以用作地理数据存储,空间索引会从所有维度来索引数据
全文索引:特殊的索引类型,查找本文关键词
关键字:数据库----1

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: