亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL中的聚集索引、二級索引使用解讀

 更新時間:2025年07月05日 09:11:10   作者:言之。  
這篇文章主要介紹了MySQL中的聚集索引、二級索引使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

以下是關(guān)于聚集索引、二級索引(非聚集索引)以及回表查詢的重點內(nèi)容:

在這里插入圖片描述

聚集索引

定義與特點:聚集索引是將數(shù)據(jù)存儲與索引放在一塊兒,B樹索引結(jié)構(gòu)的葉子節(jié)點保存了整行數(shù)據(jù),并且有且只能有一個,通常情況下是主鍵。

選舉規(guī)則

  • 若表中有主鍵,那么主鍵就是聚集索引。
  • 若表沒有主鍵,會查看是否有唯一索引,若有則將唯一索引當(dāng)作聚集索引。
  • 若表既沒有主鍵也沒有唯一索引,InnoDB引擎會自動生成一個隱藏的聚集索引。

在這里插入圖片描述

二級索引(非聚集索引)

  • 定義與特點:二級索引將數(shù)據(jù)與索引分開存儲,B樹索引結(jié)構(gòu)的葉子節(jié)點關(guān)聯(lián)的是對應(yīng)的主鍵,一個表中可以有多個二級索引。
  • 存儲結(jié)構(gòu)示例:以給表中的name字段添加索引為例,其在B樹中葉子節(jié)點存儲的是對應(yīng)數(shù)據(jù)的主鍵值,而非整行數(shù)據(jù),這與聚集索引存儲整行數(shù)據(jù)不同。

回表查詢

在這里插入圖片描述

過程示例

  • 假設(shè)有查詢語句select * from user where name = 'arm',由于給name字段添加了索引,
  • 會先走二級索引。從根節(jié)點開始比對,
  • 找到對應(yīng)的節(jié)點(如找到arm對應(yīng)的節(jié)點),但此時二級索引只能拿到主鍵值(如10),
  • 因為查詢語句是“select *”需要整行數(shù)據(jù),所以要拿著主鍵值(10)再到聚集索引中查找。
  • 在聚集索引中同樣從根節(jié)點比對,最終定位到整行數(shù)據(jù)。

定義

  • 先通過二級索引找到對應(yīng)的主鍵值,然后拿到主鍵再到聚集索引中找到整行數(shù)據(jù)的過程就是回表查詢。

面試回答技巧

  • 當(dāng)被問到“什么是聚集索引和非聚集索引”時,回答應(yīng)包含聚集索引是數(shù)據(jù)與索引放一塊,葉子節(jié)點存整行數(shù)據(jù),一般是主鍵且只有一個;二級索引(非聚集索引)是數(shù)據(jù)與索引分開存,葉子節(jié)點存主鍵值,可以有多個,單獨給字段創(chuàng)建的索引大多是二級索引。
  • 當(dāng)被問到“什么是回表查詢”時,先介紹聚集索引和二級索引的概念,再解釋回表查詢是先通過二級索引找主鍵值,再用主鍵到聚集索引找整行數(shù)據(jù)的過程。實際面試中,即使面試官直接問回表查詢,也應(yīng)先介紹索引相關(guān)概念再解釋回表查詢。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql中json基礎(chǔ)查詢詳解(附圖文)

    mysql中json基礎(chǔ)查詢詳解(附圖文)

    MySQL提供了一些函數(shù)來對JSON數(shù)據(jù)進(jìn)行操作,下面這篇文章主要給大家介紹了關(guān)于mysql中json基礎(chǔ)查詢的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • mysql中的load命令使用方法

    mysql中的load命令使用方法

    使用mysql 中的load 命令,可以將txt 文件中的內(nèi)容加載到數(shù)據(jù)庫表中
    2013-10-10
  • mysql派生表(Derived Table)簡單用法實例解析

    mysql派生表(Derived Table)簡單用法實例解析

    這篇文章主要介紹了mysql派生表(Derived Table)簡單用法,結(jié)合實例形式分析了mysql派生表的原理、簡單使用方法及操作注意事項,需要的朋友可以參考下
    2019-12-12
  • mysql5.x升級到mysql5.7后導(dǎo)入之前數(shù)據(jù)庫date出錯的快速解決方法

    mysql5.x升級到mysql5.7后導(dǎo)入之前數(shù)據(jù)庫date出錯的快速解決方法

    這篇文章主要介紹了mysql5.x升級到mysql5.7后導(dǎo)入之前數(shù)據(jù)庫date出錯的快速解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • mysql decimal類型判斷是否為0

    mysql decimal類型判斷是否為0

    在MySQL中,DECIMAL是一種用于存儲精確小數(shù)的數(shù)據(jù)類型,本文主要介紹了mysql decimal類型判斷是否為0,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Oracle與MySQL的區(qū)別詳解

    Oracle與MySQL的區(qū)別詳解

    MySQL和Oracle Database都是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),本文主要介紹了MySQL和Oracle Database的區(qū)別及優(yōu)缺點是什么,感興趣的小伙伴歡迎閱讀
    2023-04-04
  • MySql 5.7.17 winx64的安裝配置詳細(xì)教程

    MySql 5.7.17 winx64的安裝配置詳細(xì)教程

    這篇文章主要介紹了MySql 5.7.17 winx64的安裝配置教程,初始化數(shù)據(jù)庫、配置相關(guān)信息的方法在本文中介紹的非常詳細(xì),需要的朋友參考下
    2017-01-01
  • mysql數(shù)據(jù)庫的分區(qū)表示例代碼

    mysql數(shù)據(jù)庫的分區(qū)表示例代碼

    這篇文章主要介紹了mysql數(shù)據(jù)庫的分區(qū)表的相關(guān)資料,文章介紹了兩種創(chuàng)建SQL表分區(qū)的方法,分別是手動創(chuàng)建和使用MySQL的定時事件來自動創(chuàng)建分區(qū),手動創(chuàng)建分區(qū)時,需要在代碼中判斷分區(qū)并新增,可能會引入一些問題,需要的朋友可以參考下
    2024-11-11
  • mysql 5.6.37(zip)下載安裝配置圖文教程

    mysql 5.6.37(zip)下載安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.6.37(zip)下載安裝配置圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • JDBC 連接MySQL實例詳解

    JDBC 連接MySQL實例詳解

    這篇文章主要介紹了JDBC 連接MySQL實例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09

最新評論