数据库相关知识点总结

事务的四大特性

1. 原子性,要么执行,要么不执行

2. 隔离性,所有操作全部执行完之前其它会话不能看到过程

3. 一致性,事务前后数据总额一致

4. 持久性,一旦事务提交,对数据的改变就是永久的



索引有B+索引和hash索引

Hash索引:等值查询效率高,不能排序,不能进行范围查询

B+索引:数据有序,可以进行范围查询

 

索引的优缺点

索引最大的好处是可以提高查询速度,缺点是更新数据时效率低,因为会同步更新索引内容

如果要对数据进行频繁的查询则要建立索引,如果要频繁更改数据则不建议使用索引

 

索引的底层实现(B+树,为什么不用B树、红黑树)

红黑树:当增加和删除的时候红黑树会进行频繁的调整,来保证红黑树的结构正确,浪费时间

B树:查询性能不稳定,查询结果高度不一致,每个节点保存指向真实数据的指针,相比每个B+树每一层存储的元素更多,显得高一些

B+树:相较于另外两种树,显得更矮,查询层次更浅

 

B+树的实现

一个m阶B+树有如下特征:

1. 有k个子树的中间节点包含有k个元素,每个元素不保存数据,只用来索引,所有数据都保存在叶子节点

2. 所有的叶子节点中包含了全部元素的信息,以及指向含这些元素记录的指针,且叶子结点本身依据关键字的大小自小而大顺序连接

3. 所有中间结点元素都同时存在于子节点,在子节点元素中是最大或最小元素

 

使用B+树的原因

索引查找过程需要产生磁盘的IO消耗,主要看的是IO的次数,和磁盘存取原理有关

检索一次最多需要访问树高的结点

将一个结点的大小设为等于一个页,每个结点只需要一次IO就可以完全载入

 

索引分类

普通索引:最基本的索引,没有限制

唯一索引:与普通索引类似,但是索引的值必须唯一,但允许有空值

主键索引:它是一种特殊的索引,不允许有空值

全问索引:针对较大的数据

 

数据库三范式

1NF:属性不可分

2NF:非主键属性完全依赖于主键属性

3NF:非主键属性无传递依赖

参考链接:https://blog.csdn.net/qq_22222499/article/details/79060495

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值