当前位置:网站首页>安全20220712
安全20220712
2022-07-31 03:18:00 【北栀 鹿℡】
一.B+TREE的存储过程:B树的数据存储结构可以看到:
1、B+Tree 所有的数据都存储在叶子节点上。
2、B+Tree 所有的叶子节点之间是一种链式环结构。
假设寻找 key 为 33 的这条记录,33 在 16 和 34 中间,所以会去磁盘 3 进行寻找。
在磁盘 3 中进行判断,指针指向磁盘 8。在磁盘 8 中即可获取到数据 33,然后将 data 返回。
一般说到的页都是数据页。默认的页面大小为16kb,每个页中至少存储2条或以上的行记录。那么根据 BTree 数据查找的过程中可以得知一共读取了三个磁盘,那么每个磁盘的大小就是 16kb。
查找数据查找数据为9的过程如下:
当查找数值9,首先看到的数据是 4,9 是大于 4 的,所以会往 4 的右节点寻找。继续找到范围在 6 到 8 的节点,9 又大于 8,所以还需要往右节点寻找,最有一步就找到了数据 9,这个过程就是 BTree 数据结构查找数据的执行过程。
删除数据 删除6的过程 找到范围六和八 ,删除六 之后六的位置空白直接为8
这个你可以理解为阶,也可以理解为度,即B+ 树的阶数(一个节点存储的键的数量)
例如现在这个值设置的是 4,那么在一个节点中最多就可以存储 3 条数据,设置为 5那就可以最多放 4 条记录。
再加一条数据,节点就会进行分裂,这个也就验证了当阶设置为 n 时,一个节点可存 n-1 条数据
二.触发器的存储过程:
触发器是与表有关的命名数据库对象,当表上出现特定事件时,将调用该对象。它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。
触发器经常用于加强数据的完整性约束和业务规则等
触发器有一个非常好的特性就是:触发器可以禁止或回滚违反引用完整性的更改,从而取消所尝试的数据修改
在触发器中通过使用BEGIN … END结构,能够定义执行多条语句的触发器。在BEGIN块中,还能使用其他语法,如条件和循环等。我们可以将这些语句封装到存储过程里面,供触发器调用。
三.substring与substr的不同之处:substr (a,b),可以从下标为a的位置开始截取,一直截取到下标为b的位置, (取到头又取到尾); 而substring (a,b),是从下标为a的位置开始截取,截取到下标为b-1的位置, (取头取不到尾)。
四.truncate与delete的不同之处:delete是数据操作语言(DML)命令,采用行级锁定,可以从表中删除单个,多个或所有记录;而truncate是数据定义语言(DDL)命令,采用表级锁定,从数据库中删除所有记录和表结构。
边栏推荐
- 【C语言】求两个整数m和n的最大公因数和最小公倍数之和一般方法,经典解法
- The Map Entry understanding and application
- CloudCompare & PCL calculate the degree of overlap between two point clouds
- 5. How does the SAP ABAP OData service support the $filter operation
- Day32 LeetCode
- What skills do I need to learn to move from manual testing to automated testing?
- 【C语言】进制转换一般方法
- The use of font compression artifact font-spider
- IDEA 注释报红解决
- Annotation usage meaning
猜你喜欢
LeetCode simple problem to find the subsequence of length K with the largest sum
Chapter 9 SVM实践
Addition and Subtraction of Scores in LeetCode Medium Questions
【异常】The field file exceeds its maximum permitted size of 1048576 bytes.
Mycat's master-slave relationship, vertical sub-database, horizontal sub-table, and detailed configuration of mycat fragmented table query (mysql5.7 series)
SIP协议标准和实现机制
Mysql 45讲学习笔记(二十四)MYSQL主从一致
STM32 problem collection
加密公司向盗窃的黑客提供报价:保留一点,把剩下的归还
【C语言】三子棋(经典解法+一览图)
随机推荐
【C语言】进制转换一般方法
一份高质量的测试用例如何养成?
els block to the right
PMP微信群日常习题
TCP详解(二)
遗留系统的自动化策略
10 Permission introduction
Analysis summary - self-use
VS QT - ui does not display newly added members (controls) || code is silent
想从手工测试转岗自动化测试,需要学习哪些技能?
【CocosCreator 3.5】CocosCreator 获取网络状态
IDEA comment report red solution
7年经验,功能测试工程师该如何一步步提升自己的能力呢?
【动态规划】连续子数组的最大和
下载jar包的好地方
JS function this context runtime syntax parentheses array IIFE timer delay self.backup context call apply
Mysql 45 study notes (23) How does MYSQL ensure that data is not lost
Moxa NPort 设备缺陷可能使关键基础设施遭受破坏性攻击
【C语言】三子棋(经典解法+一览图)
浅识Flutter 基本组件之showDatePicker方法