详解b+树如上图,是一颗b+树,关于b+树的定义可以参见B+树,这里只说一些重点,浅蓝色的我们称之为一个磁盘,可以看到每个磁盘包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘1包含数据项17和35,包含指针P1、P2、P3,P1表示小于17的磁盘,P2表示在17和35之间的磁盘,P3表示大于35的磁盘。真实的数据存在于叶子节点即3、5、9、10、13、15、28、29、36、6
转载 2024-07-08 21:10:23
77阅读
为什么需要索引(Why is it needed)?当数据保存在磁盘类存储介质上时,它是作为数据存放。这些数据是被当作一个整体来访问的,这样可以保证操作的原子性(原子性是指一个完整的事务程序,要么成功,要么失败回滚)。硬盘数据存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,
我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。一、平衡多路查找树(B-Tree)B-Tree是为磁盘等外存储设备设计的一种平衡查找树。因此在讲 B-Tree之前先了解下磁盘的相关知识。系统从磁盘读取数据到内存时是以磁盘(block)为基本单位,大小为4K,位于
转载 2023-08-17 15:47:07
198阅读
HappyDay1234567890为什么需要它?当数据存储在基于磁盘的存储设备上时,它被存储为数据.这些全部被访问,使它们成为原子磁盘访问操作。磁盘的结构与链接列表的方式基本相同;它们都包含一个数据节,一个指向下一个节点(或)位置的指针,并且都不需要连续存储。由于许多记录只能在一个字段上排序,我们可以声明,在未排序的字段上搜索需要线性搜索N/2访问(平均),其中N表跨越的数。如果该字
背景  使用mysql最多的就是查询,我们迫切的希望mysql能查询的更快一些,我们经常用到的查询有:按照id查询唯一一条记录按照某些个字段查询对应的记录查找某个范围的所有记录(between and)对查询出来的结果排序  mysql的索引的目的是使上面的各种查询能够更快。一、预备知识  什么是索引?  上一篇中有详细的介绍,可以过去看一下:什么是索引?  索引的本质:通过不断地缩小想要获取数据
转载 2023-06-29 10:40:59
112阅读
一、索引概念  索引的本质就是不断缩小想要查找到的数据的范围来筛选想要的结果,同时吧随机事件变成顺序事件二、磁盘中的一些概念  扇区:磁盘存储的最小单位,一般为512Byte  磁盘:文件系统与磁盘交互的最小单位   mysql中的页:与磁盘交互的最小单位,mysql内部的数据结构,大小为16kb,一个页中有4磁盘,  mysql每次从磁盘中读取数据默认最小是16kb,要么不读,读了
转载 2023-08-12 20:05:58
108阅读
作为一名DBA,选择自己的数据存储在什么上面,应该是最基本的事情了。但是很多DBA却容易忽略了这一点,我就是其中一个。之前对raid了解的并不多,本文就记录下学习的raid相关知识。一、RAID的基础知识【定义】RAID(Redundant Array of Independent Disk)是一种独立冗余磁盘阵列。1、为什么要使用RAID?我们知道,单磁盘无论是从性能上、容量上、还是安全上都存
转载 2024-10-30 17:47:06
26阅读
基础知识储备局部性原理发现程序和数据的访问都有聚集成群的倾向,在一段时间内,仅使用其中一小部分(也称空间局部性),或者最近访问过得程序代码和数据,很快又被访问的可能性很大(也称时间局部性)。磁盘预读(预读的长度一般为页(page)的整数倍)页是存储器的逻辑,操作系统往往将主存和磁盘存储区分割为连续的大小相等的,每个存储称为一页(在许多操作系统中,页大小通常为4k),主存和磁盘以页为单位交换数
1. 存储底层1.1 硬盘这里主要解释的是机械硬盘,理解了如何进行IO才能更好的清除MySQL使用B+树的优势。机械硬盘整体结构:硬盘由多个盘片组成,每个盘片包含两个盘面,每个盘面有一个对应的读写磁头(由上到下从0开始编号),。盘面:盘面中灰色的圆环是一条条的磁道(由内到外从0开始编号);每条磁道上的一个弧段叫做一个扇区,扇区是磁盘的最小读写单位。一个扇区大小一般是512字节,也存在4096字节的
为什么要使用索引?当数据保存在磁盘类存储介质上时,它是作为数据存放。这些数据是被当作一个整体来访问的,这样可以保证操作的原子性。硬盘数据存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,就要执行一个线性搜索(Linear Search)的过程,平均需要访问N/2的数据,N是
 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个""(block)。这种由多个扇区组成的"",是文件存取的最小单位。""的大小,最常见的是4KB,即连续八个 sector组成一个 block。文件数据都储存在""中
什么是页缓存(PageCache)?页缓存(PageCache)是OS对文件的缓存,用于加速对文件的读写。一般来说,程序对文件进行顺序读写的速度几乎接近于内存的读写速度,主要原因就是由于OS使用PageCache机制对读写访问操作进行了性能优化,将一部分的内存用作PageCache。对于数据的写入,OS会先写入至Cache内,随后通过异步的方式由pdflush内核线程将Cache内的数据刷盘至物理
# 实现"mysql磁盘的大小"教程 ## 一、流程图 ```mermaid flowchart TD A(连接MySQL数据库) --> B(查询磁盘大小) B --> C(获取结果) ``` ## 二、步骤 | 步骤 | 操作 | | --- | --- | | 1 | 连接MySQL数据库 | | 2 | 查询磁盘大小 | | 3 | 获取结果 | ## 三、
原创 2024-03-17 03:46:57
33阅读
预备知识什么是索引?上一篇中有详细的介绍,可以过去看一下:什么是索引?索引的本质:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。磁盘中数据的存取以机械硬盘来说,先了解几个概念。扇区:磁盘存储的最小单位,扇区一般大小为512Byte。磁盘:文件系统与磁盘交互的的最小单位(计算机系统读写磁盘
索引结构结构图说明:绿色代表值,黄色代表指针,蓝色为磁盘,灰色表示没有对应区域的数据。磁盘1中,P1指向数值小于17的磁盘,P2指向数值大于17小于35的磁盘,P3指向大于35的磁盘例子:寻找值为29:磁盘1中,29大于17小于35,由磁盘1的P2指向磁盘3磁盘3中,29大于36小于30,由磁盘3的P2指向磁盘8磁盘8中,29等于29,找到了该值那些情况下适合建立索引?主键
转载 2024-04-10 13:04:56
56阅读
1、预备知识 (1)存储介质一般为主存和磁盘 (2)主存(RAM)支持随机存取,磁盘寻址需要定位【磁道】和【扇区】,对应产生【寻道时间】和【旋转时间】,因此磁盘的存取速度往往是主存的【几百分之一】 (3)由于【局部性原理】的归纳,以及磁盘IO非常耗时,实际情况下磁盘往往不是像主存那样【随机】【按需】读取,而是一次性读取目标数据【相邻】的多个【逻辑存储】到内存中,这种策略叫做【磁盘预读】
怎样的索引的数据结构是好的?磁盘读写的最小单位是扇区,扇区的大小只有 512B 大小,操作系统一次会读写多个扇区,所以操作系统的最小读写单位是(Block)。Linux 中的大小为 4KB,也就是一次磁盘 I/O 操作会直接读写 8 个扇区。所以,要设计一个适合 MySQL 索引的数据结构,至少满足以下要求:能在尽可能少的磁盘的 I/O 操作中完成查询工作;要能高效地查询某一个记录,也要能高效
背景:在之前的主从同步过程中(Mysql的多级复制),从数据库Z存在磁盘IO占用过高的问题。磁盘IO在同步期间占用率达到100%,且数据存在滞后,不能实现实时更新。从数据库的磁盘为机械硬盘,读写性能相对于固态硬盘要差一点。一、原因:可能是因为MySQL在日志在每次事务提交时,都会将其写入并刷新到磁盘,造成磁盘IO的高占用。二、查看配置:通过在MySQL命令行运行以下命令:show variable
        为了进一步深入理解MySQL存储引擎,我们有必要了解一下存储引擎的数据存储结构,在此之前,我们得先了解下数据在文件系统中的存储。磁盘的基本知识        数据库的数据存储在文件系统中。文件系统是操作系统用来 明确 存储设
1、索引1.1、概念1.2、索引的优势和劣势1.3、索引的分类1.4、mysql索引结构1.4.1、B树的检索原理1、初始化介绍: 一颗B+树,浅蓝色的我们称之为一个磁盘,可以看到每个磁盘包含几个数据项(深蓝色所示)和指针(黄色所示)。如:磁盘1包含数据项17,35,包含指针P1,P2,P3, P1表示小于17的磁盘,P2表示在17-35的磁盘,P3表示大于35的磁盘真实的数据存在于
转载 2024-04-13 18:05:01
58阅读
  • 1
  • 2
  • 3
  • 4
  • 5