当前位置:网站首页>7.13WEB安全作业
7.13WEB安全作业
2022-07-23 10:13:00 【F75559】
一.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)命令,采用表级锁定,从数据库中删除所有记录和表结构。
五.n 叉树20n不可人为修改。正常16KB。让k越小,容纳的 n 越大。page目前是不是可以修改?
1, 通过改变 key 值来调整
N 叉树中非叶子节点存放的是索引信息,索引包含 Key 和 Point 指针。Point 指针固定为 6 个字节,假如 Key 为 10 个字节,那么单个索引就是 16 个字节。如果 B + 树中页大小为 16 K,那么一个页就可以存储 1024 个索引,此时 N 就等于 1024。我们通过改变 Key 的大小,就可以改变 N 的值。
2, 改变页的大小
页越大,一页存放的索引就越多,N 就越大。数据页调整后,如果数据页太小层数会太深,数据页太大,加载到内存的时间和单个数据页查询时间会提高,需要达到平衡才行。

页是InnoDB存储引擎管理数据库的最小磁盘单位,包含以下部分
页头 Page Header
记录页面控制信息,占56字节,包括页的左右兄弟页面指针、页面空间使用情况等。
最大最小虚记录 Infimum + Supremum Records
最大虚记录:比页内最大主键还大
最小虚记录:比页内最小主键还小
数据页被创建时创建,且不能被删除
记录堆 UserRecords
行记录存储区,分为有效记录和已删除记录两种
自由空间链表
已删除的记录,这里注意InnoDB引擎的删除不会彻底释放空间而是删除标识位并保存在自由空间链表中
未分配空间 Free Space
页面未使用的存储空间
Slot区 Page Directory
目录槽,用于快速定位页面中行记录,每个dir slot最多可管理8个物理行记录
页尾 File Trailer
页面最后部分,占8个字节,主要存储页面的校验信息
边栏推荐
- 基于simulink的双闭环矢量控制的电压型PWM整流器仿真
- Prometheus入门使用(三)
- 【无标题】测试【无标题】测试
- 152. Product maximum subarray
- 头部姿态估计原理及可视化_loveliuzz的博客-程序员宅基地_头部姿态估计
- 【7.16】代码源 -【数组划分】【拆拆】【选数2】【最大公约数】
- 精品国创《少年歌行》数字藏品开售,邀你共铸少年武侠江湖梦
- Multiple backpacks!
- @Feignclient detailed tutorial (illustration)
- [test platform development] XVII. The interface editing page realizes the drop-down cascade selection, and binds the module to which the interface belongs
猜你喜欢

如何实现多个传感器与西门子PLC之间485无线通讯?

Simulation of voltage source PWM rectifier with double closed loop vector control based on Simulink

易基因|靶基因DNA甲基化测序(Target-BS)

基于matlab的CBOC信号调制解调仿真,输出其相关性,功率谱以及频偏跟踪

基于matlab的BOC调制信号捕获仿真

【无标题】

Live classroom system 01 database table design

报错 | cannot read property ‘_normalized‘ of undefined
![[untitled]](/img/6c/df2ebb3e39d1e47b8dd74cfdddbb06.gif)
[untitled]

Selenium in the crawler realizes automatic collection of CSDN bloggers' articles
随机推荐
读写锁ReadWriteLock还是不够快?再试试S…
String function of MySQL function summary
基於matlab的CBOC信號調制解調仿真,輸出其相關性,功率譜以及頻偏跟踪
如何实现多个传感器与西门子PLC之间485无线通讯?
cmake笔记
动态规划-力扣
General of MySQL_ Log log
152. Product maximum subarray
俄方希望有效落实农产品外运“一揽子”协议
报错 | cannot read property ‘_normalized‘ of undefined
【刷题记录】19. 删除链表的倒数第 N 个结点
NVIDIA vid2vid paper reproduction
Common SQL of Oracle Report
21 - vertical traversal of binary tree
452. 用最少数量的箭引爆气球
上小学之前要学会的本领指引
What methods are called behind the use of objects
用FFT加速特殊矩阵的矩阵向量乘运算
MySQL 常用命令
Map structure stored in the room of jetpack series