成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么MySQL數據庫要用B+樹存儲索引?

存儲 存儲軟件
小史是一個應屆生,雖然學的是電子專業,但是自己業余時間看了很多互聯網與編程方面的書,一心想進 BAT 互聯網公司。

小史是一個應屆生,雖然學的是電子專業,但是自己業余時間看了很多互聯網與編程方面的書,一心想進 BAT 互聯網公司。

話說兩個多月前,小史通過了 A 廠的一面,兩個多月后的今天,小史終于等到了 A 廠的二面。

在簡單的自我介紹后,面試官看了看小史的簡歷,開始發問了。

面試現場

小史:沒問題,這個項目前端用的 React+Webpack,后端用的 Nginx+Spring Boot+Redis+MySQL,前后端是分離的,***用 Docker 進行容器化部署。主要模塊有師生系統、課程系統、成績系統、選課系統等。

這個項目的架構和說辭,小史早已背得溜溜的。

小史:底層 MySQL 是存儲,Redis 是緩存,Dao 層操作 MySQL,Cache層操作 Redis,Service 層處理業務邏輯,Rest API 層為前端提供 Rest 接口。

前端這邊用 React 進行模塊化,Webpack 打包部署。網關 Nginx 進行負載均衡。MySQL、Redis、Nginx 和 Spring Boot 應用都放在 Docker 里部署。

題目:為什么 MySQL 數據庫要用 B+ 樹存儲索引?小史聽到這個題目,陷入了回憶。

前段時間的飯局

話說呂老師給小史講完人工智能的一些知識后,他們一起回家吃小史姐姐做的飯去了。

呂老師:面試的時候一定是往深了問,不精通的話容易吃虧。不過面試時一般都是根據項目來問,項目中用到的技術,一定要多看看原理,特別是能和數據結構和算法掛鉤的那部分。

 

小史:樹的話,無非就是前中后序遍歷、二叉樹、二叉搜索樹、平衡二叉樹,更高級一點的有紅黑樹、B 樹、B+ 樹,還有之前你教我的字典樹。

紅黑樹

一聽到紅黑樹,小史頭都大了,開始抱怨了起來。

小史:紅黑樹看過很多遍了,但是每次都記不住,它的規則實在是太多了,光定義就有四五條規則,還有插入刪除的時候,需要調整樹,復雜得很。

呂老師:小史,問你紅黑樹,并不是讓你背誦它的定義,或者讓你手寫一個紅黑樹,而是想問問你它為什么這樣設計,它的使用場景有哪些。

B 樹

 

呂老師:小史,你要知道,文件系統和數據庫的索引都是存在硬盤上的,并且如果數據量大的話,不一定能一次性加載到內存中。

兩個月前,小史面試沒考慮內存情況差點掛了。

B+ 樹

 

呂老師:這也是和業務場景相關的,你想想,數據庫中 Select 數據,不一定只選一條,很多時候會選多條,比如按照 ID 排序后選 10 條。

小史:我明白了,如果是多條的話,B 樹需要做局部的中序遍歷,可能要跨層訪問。

而 B+ 樹由于所有數據都在葉子結點,不用跨層,同時由于有鏈表結構,只需要找到首尾,通過鏈表就能把所有數據取出來了。

回到現場

小史:這和業務場景有關。如果只選一個數據,那確實是 Hash 更快。但是數據庫中經常會選擇多條,這時候由于 B+ 樹索引有序,并且又有鏈表相連,它的查詢效率比 Hash 就快很多了。

小史:而且數據庫中的索引一般是在磁盤上,數據量大的情況可能無法一次裝入內存,B+ 樹的設計可以允許數據分批加載,同時樹的高度較低,提高查找效率。

HR 和小史簡單地聊了聊基本情況,這次面試就結束了。小史走后,面試官在系統中寫下了面試評語:

幾天后,小史收到了 A 廠的 Offer。

 

責任編輯:武曉燕 來源: 互聯網偵察
相關推薦

2019-09-24 09:33:53

MySQLB+樹InnoDB

2022-03-28 08:24:52

MySQL聚簇索引非聚簇索引

2015-04-21 13:09:01

B+樹MySQL索引結構

2024-05-22 09:01:53

InnoDBB+索引

2020-04-01 18:08:57

MySQL B-樹B+樹

2019-08-29 10:46:22

MySQL索引數據庫

2020-03-18 09:33:47

數據庫程序員數組

2020-02-12 19:01:22

索引B-樹B+樹

2019-01-29 19:43:10

MySQL索引數據庫

2021-02-16 16:38:41

MySQLB+樹索引

2022-04-16 14:20:29

MySQL數據庫

2020-03-19 07:53:56

Mysql引擎B+樹

2023-06-06 09:03:06

InnodbMySQL

2021-11-30 21:10:19

數據庫B樹索引

2021-05-19 09:51:31

MySQL-B+樹數據

2021-03-27 11:05:24

數據庫索引MySQL

2021-07-04 15:16:14

索引B+數據庫

2023-11-06 11:18:22

數據庫索引B 樹

2019-11-04 15:00:50

MySQL索引B+樹

2019-11-05 14:06:07

MySQLB+索引
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 啪一啪在线视频 | 欧美日韩高清免费 | av在线伊人 | 国产精品a免费一区久久电影 | 国产综合精品 | 欧美中文一区 | 日本不卡一区 | www.中文字幕 | 国产成人精品区一区二区不卡 | 国产成人综合在线 | 久久新| 日韩视频二区 | 精品欧美一区二区三区免费观看 | 免费一级片 | 久热国产精品视频 | 精品久久一区二区三区 | 久久久久久黄 | 在线久草 | 日韩免费网站 | 黄色毛片免费视频 | 人人鲁人人莫人人爱精品 | 欧美日韩久久精品 | 涩涩视频在线观看 | 免费观看成人性生生活片 | 亚洲成人高清 | 国产区精品视频 | 九九精品在线 | 九九综合| 亚洲一区中文字幕 | 欧美日韩看片 | 69视频在线播放 | 中文字幕视频三区 | 激情欧美日韩一区二区 | 亚洲网一区| 日韩二区 | 国产一区二区三区www | 大学生a级毛片免费视频 | 国产精品久久久久9999鸭 | 欧美黄色片 | 日韩三级在线 | 秋霞在线一区 |