久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:2日期:2023-10-11 08:25:28

1、聚集索引

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

在一張表上最多只能創建一個聚集索引,因為真實數據的物理順序只能有一種。

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

2、非聚集索引

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

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

總結:

聚簇索引和非聚簇索引的區別是:

聚簇索引(innoDB)的葉子節點就是數據節點;

而非聚簇索引(myisam)的葉子節點仍然是索引文件 只是這個索引文件中包含指向對應數據塊的指針

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

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

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

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

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

以上就是詳解MySQL 聚簇索引與非聚簇索引的詳細內容,更多關于MySQL 聚簇索引與非聚簇索引的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 夜夜操导航 | 亚洲蜜臀av乱码久久精品蜜桃 | 国产va| 天天干夜夜骑 | a国产在线 | 欧美一区二区三区在线观看视频 | 日日噜 | 成人看片免费网站 | 在线免费观看黄 | 免费黄色电影在线观看 | 欧美成人高清 | 日本精品在线播放 | 91视频网址 | 91精品久久久久久久久久 | 97精品国产97久久久久久粉红 | www.99热这里只有精品 | 国产高清精品一区二区三区 | 久久亚洲一区二区三区四区 | 91久久国产精品 | 成人国产精品久久 | 四虎影院最新网站 | 国产丝袜人妖ts黄檬 | 国产精品一区亚洲二区日本三区 | 一区二区三区在线免费观看 | 激情一区二区三区 | 亚洲xx视频| av一区二区三区在线观看 | 久久久久一区二区三区 | 蜜桃视频一区 | 成人看片在线观看 | 欧美成人a∨高清免费观看 在线视频成人 | 欧美成人资源 | 91精品国产91久久久久久蜜臀 | 国产一区二区三区在线 | 精品xxxx户外露出视频 | 欧美日本国产一区 | 亚洲网站视频 | 91视频免费观看 | 精品国产91亚洲一区二区三区www | 亚洲精品在线视频观看 | 中文字幕爱爱视频 |