最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解MySQL 聚簇索引與非聚簇索引

 更新時間:2020年09月24日 14:55:41   作者:Achilles_Heel  
這篇文章主要介紹了MySQL 聚簇索引與非聚簇索引的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)MySQL索引,感興趣的朋友可以了解下

1、聚集索引

表數(shù)據(jù)按照索引的順序來存儲的,也就是說索引項的順序與表中記錄的物理順序一致。對于聚集索引,子結(jié)點即存儲了真實的數(shù)據(jù)行,不再有另外單獨的數(shù)據(jù)頁。

在一張表上最多只能創(chuàng)建一個聚集索引,因為真實數(shù)據(jù)的物理順序只能有一種。

從物理文件也可以看出 InnoDB(聚集索引)的數(shù)據(jù)文件只有數(shù)據(jù)結(jié)構(gòu)文件.frm和數(shù)據(jù)文件.idb 其中.idb中存放的是數(shù)據(jù)和索引信息 是存放在一起的。

2、非聚集索引

表數(shù)據(jù)存儲順序與索引順序無關(guān)。對于非聚集索引,葉結(jié)點包含索引字段值及指向數(shù)據(jù)頁數(shù)據(jù)行的邏輯指針,其行數(shù)量與數(shù)據(jù)表行數(shù)據(jù)量一致。

從物理文件中也可以看出 MyISAM(非聚集索引)的索引文件.MYI和數(shù)據(jù)文件.MYD是分開存儲的 是相對獨立的

總結(jié):

聚簇索引和非聚簇索引的區(qū)別是:

聚簇索引(innoDB)的葉子節(jié)點就是數(shù)據(jù)節(jié)點;

而非聚簇索引(myisam)的葉子節(jié)點仍然是索引文件 只是這個索引文件中包含指向?qū)?yīng)數(shù)據(jù)塊的指針

對于 非聚簇索引 來說,每次通過索引檢索到所需行號后,還需要通過葉子上的磁盤地址去磁盤內(nèi)取數(shù)據(jù)(回行)消耗時間。為了優(yōu)化這部分回行取數(shù)據(jù)時間,InnoDB 引擎采用了聚簇索引。
聚簇索引,即將數(shù)據(jù)存入索引葉子頁面上。對于 InnoDB 引擎來說,葉子頁面不再存該行對應(yīng)的地址,而是直接存儲數(shù)據(jù)。

這樣便避免了回行操作所帶來的時間消耗。 使得 InnoDB 在某些查詢上比 MyISAM 還要快!

ps. 關(guān)于查詢時間,一般認(rèn)為 MyISAM 犧牲了功能換取了性能,查詢更快。但事實并不一定如此。多數(shù)情況下,MyISAM 確實比 InnoDB 查的快 。但是查詢時間受多方面因素影響。InnoDB 查詢變慢得原因是因為支持事務(wù)、回滾等等,使得 InnoDB的葉子頁面實際上還包含有事務(wù)id(換句話說就是版本號) 以及回滾指針。

動作描述 使用聚集索引 使用非聚集索引
列經(jīng)常被分組排序 使用 使用
返回某范圍內(nèi)的數(shù)據(jù) 使用 不使用
一個或極少不同值 不使用 不使用
小數(shù)目的不同值 使用 不使用
大數(shù)目的不同值 不使用 使用
頻繁更新的列 不使用 使用
外鍵列 使用 使用
主鍵列 使用 使用
頻繁修改索引列 不使用 使用

簡單來說,聚簇索引不適用于頻繁更新的列、頻繁修改的索引列和小數(shù)目的不同值。

以上就是詳解MySQL 聚簇索引與非聚簇索引的詳細(xì)內(nèi)容,更多關(guān)于MySQL 聚簇索引與非聚簇索引的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 打開和關(guān)閉mysql服務(wù)的兩種實現(xiàn)方法

    打開和關(guān)閉mysql服務(wù)的兩種實現(xiàn)方法

    這篇文章主要介紹了打開和關(guān)閉mysql服務(wù)的兩種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • MYSQL WHERE語句優(yōu)化

    MYSQL WHERE語句優(yōu)化

    where優(yōu)化主要是在SELECT中,因為他們最主要是在那里使用,但是同樣的優(yōu)化也可被用于DELETE和UPDATE語句。
    2009-03-03
  • Win7下mysql5.5安裝圖文教程

    Win7下mysql5.5安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了Win7下mysql5.5安裝的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Navicat連接MySQL出現(xiàn)2059錯誤的解決方案

    Navicat連接MySQL出現(xiàn)2059錯誤的解決方案

    當(dāng)使用Navicat連接MySQL時,如果出現(xiàn)錯誤代碼2059,表示MySQL服務(wù)器不接受Navicat提供的加密插件,解決方法主要有兩種:一是修改MySQL用戶的認(rèn)證插件為mysql_native_password,二是升級Navicat到最新版本以支持MySQL8.0及其默認(rèn)的caching_sha2_password認(rèn)證插件
    2024-10-10
  • 詳解MYSQL中重命名procedure的一種方法

    詳解MYSQL中重命名procedure的一種方法

    這篇文章主要介紹了MYSQL中重命名procedure的一種方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • MySQL數(shù)據(jù)庫所在服務(wù)器磁盤滿了的故障分析和解決方法

    MySQL數(shù)據(jù)庫所在服務(wù)器磁盤滿了的故障分析和解決方法

    這篇文章主要給大家介紹了MySQL數(shù)據(jù)庫所在服務(wù)器磁盤滿了的故障分析和解決方法,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • MySQL并發(fā)更新數(shù)據(jù)時的處理方法

    MySQL并發(fā)更新數(shù)據(jù)時的處理方法

    在后端開發(fā)中我們不可避免的會遇見MySQL數(shù)據(jù)并發(fā)更新的情況,作為一名后端研發(fā),如何解決這類問題也是必須要知道的,同時這也是面試中經(jīng)??疾斓闹R點。
    2019-05-05
  • Mysql 主從數(shù)據(jù)庫同步(centos篇)

    Mysql 主從數(shù)據(jù)庫同步(centos篇)

    Mysql 主從數(shù)據(jù)庫同步(centos篇),需要的朋友可以參考下。
    2011-05-05
  • 一篇文章看懂SQL中的開窗函數(shù)

    一篇文章看懂SQL中的開窗函數(shù)

    開窗函數(shù)也叫分析函數(shù)有兩類,一類是聚合開窗函數(shù),一類是排序開窗函數(shù),下面這篇文章主要給大家介紹了關(guān)于SQL中開窗函數(shù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 定位和優(yōu)化mysql慢查詢的常見方法分享

    定位和優(yōu)化mysql慢查詢的常見方法分享

    MySQL中的慢查詢(Slow Query)指執(zhí)行時間超過指定閾值的查詢語句,默認(rèn)閾值是long_query_time參數(shù)設(shè)置的秒值,MySQL有幾種常見的方法可以發(fā)現(xiàn)和獲取慢查詢,接下來小編將給大家詳細(xì)的介紹一下這些方法,需要的朋友可以參考下
    2023-08-08

最新評論

揭阳市| 霍城县| 丁青县| 桐乡市| 蒲城县| 凌海市| 敖汉旗| 军事| 甘德县| 涿鹿县| 泊头市| 桦南县| 保定市| 河西区| 大同县| 灵石县| 仲巴县| 保康县| 黑山县| 称多县| 舞钢市| 浮梁县| 成都市| 涿鹿县| 广东省| 双城市| 灌阳县| 阿拉善盟| 奇台县| 乐至县| 高平市| 自治县| 乐山市| 北宁市| 枣阳市| 和政县| 洪湖市| 曲麻莱县| 和龙市| 德格县| 图们市|