B樹與B+樹在MySQL中的應用:索引

數據結構演示網站:Data Structure Visualization

先來了解兩個數據結構B樹與B+樹

B樹:

? ? ? ? N階B樹每個節點最多存儲N-1個Key,N個指針

? ? ? ? 例如:一個5階B樹,當前節點存儲到5個Key時,中間的數會向上分離,形成新節點

????????

? ? ? ???結果如下:B樹是多路平衡搜索樹,進行了自平衡

B+樹:

數據僅存儲在葉子節點,內部節點僅保存鍵和子節點指針。所有查詢必須走到葉子節點才能獲取數據。

葉子節點通過雙向鏈表串聯。

B樹與B+樹區別:

? ? ? ? 1.數據存儲:

? ? ? ? ? ? ? ? B樹:每個節點都有Key和數據

? ? ? ? ? ? ? ? B+樹:只有葉子結點有數據

? ? ? ? 2.結構:

? ? ? ? ? ? ? ? B樹:節點獨立,查找時需要回溯

? ? ? ? ? ? ? ? B+樹:基于雙向鏈表

? ? ? ? 3.查詢:?

? ? ? ? ? ? ? ? B樹:可能提前查找結束,時間不穩定

? ? ? ? ? ? ? ? B+樹:每次都走到葉子結點,時間穩定

索引分類:

? ? ? ? 按數據結構分類:

? ? ? ? ? ? ? ? ①B+樹索引:基于平衡多路搜索樹,用于查詢和排序

? ? ? ? ? ? ? ? ②哈希索引:基于哈希表,用于精準查詢

? ? ? ? ? ? ? ? ③全文索引:基于倒排索引,用于全文檢索

? ? ? ? ? ? ? ? ④R樹索引:使用空間數據,用于地理位置信息

? ? ? ? 按存儲方式分類:

? ? ? ? ? ? ? ? ①聚簇索引:數據存儲在葉子結點,索引即數據,減少回表,效率高,只能有一個

? ? ? ? ? ? ? ? ②非聚簇索引(二級索引):數據地址存儲在葉子結點,當需要完整數據時需要回表,增加I/O操作,可以創建多個

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72894.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72894.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72894.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【重構小程序】基于Tika和Langchain4J進行文件解析和文本切片(二)

為了將大語言模型植入到小程序中,來支持用戶的問答。那我們首先需要做的是什么呢,不是引入大語言模型,而且為大語言模型搭建一個私有化知識庫,但是這是這節呢,我們先不搭建私有化知識庫,在這之前&#xff0…

python|exm6-1try-except結構|raise關鍵字|異常類型

目錄 一、try-expect 1. 多個try-expect結構的使用 1.1 捕捉特定異常 1.2 捕捉全部異常 1.3 所有異常合并處理 2. try-except-else-finally 結構 二、raise 關鍵字 一、try-expect try-expect 結構是 Python 中用于異常處理的關鍵機制。它允許你捕獲并處理代碼中可能發生…

小藍的括號串1(棧,藍橋云課)

問題描述 小藍有一個長度為 nn 的括號串,括號串僅由字符 ( 、 ) 構成,請你幫他判斷一下該括號串是否合法,合法請輸出 Yes ,反之輸出 No 。 合法括號序列: 空串是合法括號序列。 若 ss 是合法括號序列,則 (…

Centos7配置本地yum源

Centos7配置本地yum源 1、基于iso鏡像的centos源 1.1 準備iso <span style"color:#000000"><span style"background-color:#ffffff"><code class"language-bash"><span style"color:#008000"># 首先看自己使用…

VNA操作使用學習-14 再測晶振特性

再測一下4Mhz晶振&#xff0c;看看特性曲線&#xff0c;熟悉一下vna使用。 s11模式&#xff0c;找遍了各種format都無法顯示&#xff0c;只有這一種&#xff08;s11&#xff0c;Resistance&#xff09;稍微顯示出一個諧振&#xff0c;但是只有一個點。 s21模式 這是201p&#…

Tr0ll2靶機詳解

一、主機發現 arp-scan -l靶機ip&#xff1a;192.168.55.164 二、端口掃描、漏洞掃描、目錄枚舉、指紋識別 2.1端口掃描 nmap --min-rate 10000 -p- 192.168.55.164發現21端口的ftp服務開啟 以UDP協議進行掃描 使用參數-sU進行UDP掃描 nmap -sU --min-rate 10000 -p- 19…

基于開源模型的微調訓練及瘦身打造隨身掃描儀方案__用AI把手機變成文字識別小能手

基于開源模型的微調訓練及瘦身打造隨身掃描儀方案__用AI把手機變成文字識別小能手 一、準備工作&#xff1a;組裝你的"數碼工具箱" 1. 安裝基礎工具&#xff08;Python環境&#xff09; 操作步驟&#xff1a; 訪問Python官網下載安裝包安裝時務必勾選Add Python to…

GitHub 超火的開源終端工具——Warp

Warp 作為近年來 GitHub 上備受矚目的開源終端工具&#xff0c;以其智能化、高性能和協作能力重新定義了命令行操作體驗。以下從多個維度深入解析其核心特性、技術架構、用戶評價及生態影響力&#xff1a; 一、背景與核心團隊 Warp 由前 GitHub CTO Jason Warner 和 Google 前…

使用C#創建安裝Windows服務程序

在實際工作中&#xff0c;如果我們需要開發一個運行在后臺&#xff0c;無需用戶交互&#xff0c;不需要界面的應用程序&#xff0c;我們可以通過Windows服務來實現。 本文主要介紹如何基于C#創建一個Windows服務&#xff0c;來實現西門子PLC的定時讀取保存。 一、Windows服務…

docker、docker-compose常用命令

初學者使用的docker、docker-compose常用命令&#xff0c;日常練習&#xff0c;環境簡單搭建。 一、docker 1.1、安裝docker 1.1.1、yum安裝 #安裝docker的數據存儲驅動包 yum install -y yum-utils device-mapper-persistent-data lvm2 #設置新的安裝源、下載配置文件到…

阿里的MNN源碼如何編譯成so文件,供Android調用

在Ubtuntu下面的編譯&#xff0c;先整理編譯環境 1、安裝環境依賴 # 安裝必要工具 sudo apt update sudo apt install -y cmake ninja-build git wget # 安裝Android NDK&#xff08;建議使用r21版本或更高&#xff09; wget https://dl.google.com/android/repository/a…

吳恩達機器學習筆記復盤(六)梯度下降算法

簡介 梯度下降&#xff08;Gradient Descent&#xff09;是一種常用的優化算法&#xff0c;廣泛應用于機器學習、深度學習等領域&#xff0c;在這里是用于求J&#xff08;w,b&#xff09;局部最小值。 我自己覺得這樣說有點過于抽象。換個直觀點的說法就是&#xff0c;一個人…

使用JAVA-進行維吉尼亞密碼的解密與加密

維吉尼亞密碼 來源于百度百科 維吉尼亞密碼_百度百科 具體代碼 import java.util.*;public class WJMYmm {//常量 26public static final int N 26;//密碼public static void main(String[] args) {//字母String ZM"abcdefghijklmnopqrstuvwxyz";char[] zm ZM.…

Java DelayQueue 延遲隊列

Java DelayQueue 延遲隊列 1. DelayQueue 概述 DelayQueue 是 Java 并發包&#xff08;java.util.concurrent&#xff09;中的一個 無界 阻塞隊列&#xff0c;用于存儲實現了 Delayed 接口的元素。隊列中的元素只有在達到指定的延遲時間后才能被獲取。 2. DelayQueue 的底層…

LeetCode 解題思路 22(Hot 100)

解題思路&#xff1a; 遞歸思路&#xff1a; 傳入當前節點的最小值和最大值&#xff0c;遞歸判斷左右子樹。結束條件&#xff1a; 當前節點為空或不滿足二叉搜索樹。 Java代碼&#xff1a; class Solution {public boolean isValidBST(TreeNode root) {return isValidBST(ro…

樂享數科:政策助推假日經濟,2月普惠金融-景氣指數穩中有升

數據顯示&#xff0c;2025年2月普惠金融-景氣指數達48.99點&#xff0c;較1月上升0.03點。 企業運行持續向好&#xff0c;企業信心預期和經營活力回升。“假日經濟”與“政策效應”相互疊加&#xff0c;市場供求格局有所改善&#xff0c;景氣水平穩步恢復。 普惠金融-景氣指數…

leetcode日記(108)驗證回文串

看上去很簡單&#xff0c;其實很麻煩。 一開始寫的遞歸&#xff0c;但是內存超限……搜了下發現原因是每次遞歸調用都會創建一個新的字符串副本&#xff0c;這在處理長字符串時會占用大量內存。 class Solution { public:bool isPalindrome(string s) {if(s.size()0||s.size(…

用css繪制收銀鍵盤

最近需求說需要自己弄個收銀鍵盤&#xff0c;于是乎直接上手搓 主要基于Vue3寫的&#xff0c;主要是CSS <template><view class"container"><view class"info"><image class"img" src"" mode"">&l…

智能車間管理系統(源碼+文檔+講解+演示)

引言 在現代制造業中&#xff0c;智能車間管理系統正成為推動工業4.0和智能制造的關鍵力量。它通過整合先進的信息技術和自動化技術&#xff0c;優化生產流程&#xff0c;提高生產效率&#xff0c;降低成本&#xff0c;并確保產品質量。 系統概述 智能車間管理系統采用前后端…

Model Context Protocol - Prompts

1. 概述 Model Context Protocol (MCP) 提供了一種標準化的方式&#xff0c;使服務器能夠向客戶端暴露提示模板&#xff08;prompts&#xff09;。Prompts 是服務器提供的結構化消息和指令&#xff0c;用于與語言模型進行交互。客戶端可以發現可用的提示、獲取其內容&#xff…