校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Mysql InnoDB引擎的索引與存儲結構詳解

Mysql InnoDB引擎的索引與存儲結構詳解

熱門標簽:百度地圖標注后不顯示 電銷機器人各個細節介紹 昆明電信400電話辦理 電銷機器人 行業 俄國地圖標注app 溫州瑞安400電話怎么申請 南昌高頻外呼系統哪家公司做的好 淄博400電話申請 電話機器人市場趨勢

前言

在Oracle 和SQL Server等數據庫中只有一種存儲引擎,所有數據存儲管理機制都是一樣的。

而MySql數據庫提供了多種存儲引擎。用戶可以根據不同的需求為數據表選擇不同的存儲引擎,用戶也可以根據自己的需要編寫自己的存儲引擎。

MySQL主要存儲引擎的區別

MySQL默認的存儲引擎是MyISAM,其他常用的就是InnoDB,另外還有MERGE、MEMORY(HEAP)等。

主要的幾個存儲引擎

MyISAM管理非事務表,提供高速存儲和檢索,以及全文搜索能力。

MyISAM是Mysql的默認存儲引擎。當create創建新表時,未指定新表的存儲引擎時,默認使用MyISAM。每個MyISAM在磁盤上存儲成三個文件。文件名都和表名相同,擴展名分別是.frm(存儲表定義)、.MYD (MYData,存儲數據)、.MYI (MYIndex,存儲索引)。數據文件和索引文件可以放置在不同的目錄,平均分布io,獲得更快的速度。

InnoDB存儲引擎用于事務處理應用程序,具有眾多特性,包括ACID事務支持,提供了具有提交、回滾和崩潰恢復能力的事務安全。但是對比MyISAM存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數據和索引。

Memory將所有數據保存在內存中,可以應用于臨時表中在需要快速查找引用和其他類似數據的環境下,可提供極快的訪問。Memory使用哈希索引,所以數據的存取速度非常快。

Merge允許MySQL DBA或開發人員將一系列等同的MyISAM表以邏輯方式組合在一起,并作為1個對象引用它們。對于諸如數據倉儲等VLDB環境十分適合。

不同存儲引擎的橫向對比 

特點 MyISAM BDB Memory InnoDB
存儲限制 沒有 沒有 64TB
事務安全   支持   支持
鎖機制 表鎖 頁鎖 表鎖 行鎖
B樹索引 支持 支持 支持 支持
哈希索引     支持 支持
全文索引 支持      
集群索引       支持
數據緩存     支持 支持
索引緩存 支持   支持 支持
數據可壓縮 支持      
空間使用 N/A
內存使用 中等
批量插入的速度
支持外鍵       支持

查看和配置存儲引擎的操作

1.用show engines; 命令可以顯示當前數據庫支持的存儲引擎情況;

2.要查看表的定義結構等信息可以使用以下幾種命令:

Desc[ribe] tablename; //查看數據表的結構
Show create table tablename; //顯示表的創建語句,可以查看創建表時指定的ENGINE
show table status like ‘tablename'\G顯示表的當前狀態值

3.設置或修改表的存儲引擎

創建數據庫表時設置存儲存儲引擎的基本語法是:

Create table tableName(
columnName(列名1) type(數據類型) attri(屬性設置),
columnName(列名2) type(數據類型) attri(屬性設置),
……..) engine = engineName

修改存儲引擎,可以用命令

Alter table tableName engine =engineName

對于整個服務器或方案,你并不一定要使用相同的存儲引擎,可以為方案中的每個表使用不同的存儲引擎。

InnoDB的存儲結構

InnoDB使用頁面存儲結構,下面是InnoDB的表空間結構圖:

Page頁面存儲格式如下圖所示:

一個頁面的存儲由以下幾部分組成:

  1. 頁頭(Page Header):記錄頁面的控制信息,共占150字節,包括頁的左右兄弟頁面指針、頁面空間使用情況等,頁頭的詳細說明會在下一篇中描述。
  2. 最小虛記錄、最大虛記錄:兩個固定位置存儲的虛記錄,本身并不存儲數據。最小虛記錄比任何記錄都小,而最大虛記錄比任何記錄都大。
  3. 記錄堆(record heap):指上圖的橙黃色部分。表示頁面已分配的記錄空間,也是索引數據的真正存儲區域。記錄堆分為兩種,即有效記錄和已刪除記錄。有效記錄就是索引正常使用的記錄,而已刪除記錄表示索引已經刪除,不在使用的記錄,如上圖的深藍色部分。隨著記錄的更新和刪除越來越頻繁,記錄堆中已刪除記錄將會越多,即會出現越來越多的空洞(碎片)。這些已刪除記錄連接起來,就會成為頁面的自由空間鏈表。
  4. 未分配空間:指頁面未使用的存儲空間,隨著頁面不斷使用,未分配空間將會越來越小。當新插入一條記錄時,首先嘗試從自由空間鏈表中獲得合適的存儲位置(空間足夠),如果沒有滿足的,就會在未分配空間中申請。
  5. slot區:slot是一些頁面有效記錄的指針,每個slot占兩個字節,存儲了記錄相對頁面首地址的偏移。如果頁面有n條有效記錄,那么slot的數量就在n/8+2~n/4+2之間。下一節詳細介紹slot區,它是記錄頁面有序和二分查找的關鍵。
  6. 頁尾(Page Tailer):頁面最后部分,占8個字節,主要存儲頁面的校驗信息。

頁面中的頁頭,最大/最小虛記錄以及頁尾都是頁面中有固定的存儲位置。

InnoDB的索引結構

InnoDB使用B+Tree的方式存儲索引。

Innodb的一個表可能包含多個索引,每個索引都使用B+樹來存儲。而索引包括聚集索引和二級索引,聚集索引使用表的主鍵作為索引鍵,包含表的所有字段。二級索引只包含索引鍵和聚集索引鍵(主鍵)的內容,不包括其他字段。每一個索引都是一棵B+樹,每棵B+樹由很多頁面組成,而每個頁面大小一般為16K。從B+樹的組織結構來看,B樹的頁面可分為:

葉子節點:B樹層次為0的頁面,存儲記錄的所有內容。
非葉子節點:B樹層次大于0的頁面,只存儲索引鍵和頁面指針。

一棵典型的B+樹結構:

從上圖可知,相同層次的頁面是用一個雙向鏈表連接起來的。

一般情況下,從B+樹的最左邊葉子節點開始,一直向右掃描,就可以得到B+樹的從小到大的所有數據。因此,對于葉子節點,有如下特征:

頁內數據是按索引鍵排序的。

頁面的任一記錄的索引鍵值不小于其左兄弟頁面的任何記錄。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • MySQL slow_log表無法修改成innodb引擎詳解
  • MySQL存儲引擎InnoDB的配置與使用的講解
  • MySQL存儲引擎MyISAM與InnoDB區別總結整理
  • MySQL InnoDB存儲引擎的深入探秘
  • 修改MySQL數據庫引擎為InnoDB的操作

標簽:安徽 甘南 葫蘆島 拉薩 海口 洛陽 吐魯番 嘉峪關

巨人網絡通訊聲明:本文標題《Mysql InnoDB引擎的索引與存儲結構詳解》,本文關鍵詞  Mysql,InnoDB,引擎,的,索引,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql InnoDB引擎的索引與存儲結構詳解》相關的同類信息!
  • 本頁收集關于Mysql InnoDB引擎的索引與存儲結構詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    丁香婷婷综合激情五月色| 国产综合色产在线精品| 国产精品情趣视频| 国产喂奶挤奶一区二区三区| 久久综合久久综合久久综合| 精品91自产拍在线观看一区| 精品久久久久久最新网址| 久久亚洲一区二区三区四区| 精品国产不卡一区二区三区| 久久午夜免费电影| 国产精品久久久久久久久果冻传媒 | 欧美日韩aaaaaa| 91精品国产一区二区三区香蕉| 欧美日韩电影在线播放| 欧美大片在线观看一区二区| 久久久久久电影| 国产精品伦理一区二区| 亚洲视频每日更新| 亚洲午夜成aⅴ人片| 午夜婷婷国产麻豆精品| 精品一区二区久久久| 成人av在线电影| 欧美特级限制片免费在线观看| 69精品人人人人| 精品国产sm最大网站| 国产精品毛片高清在线完整版| 亚洲欧美综合色| 五月激情六月综合| 国模冰冰炮一区二区| 成人av在线播放网址| 欧美精品aⅴ在线视频| 精品国产成人在线影院 | www久久精品| 亚洲精品中文字幕乱码三区| 九一九一国产精品| 日本高清视频一区二区| 久久奇米777| 日韩黄色小视频| 不卡视频一二三| 日韩一区二区影院| 亚洲欧美偷拍三级| 黄色日韩三级电影| 日本久久电影网| 国产色婷婷亚洲99精品小说| 天天影视网天天综合色在线播放| 国产激情视频一区二区三区欧美| 在线中文字幕一区二区| 欧美激情在线一区二区| 日韩精品1区2区3区| 在线观看国产精品网站| 国产欧美一区二区三区在线老狼| 日韩国产精品久久久| 色综合天天狠狠| 国产无遮挡一区二区三区毛片日本| 天天av天天翘天天综合网色鬼国产 | 日韩精品综合一本久道在线视频| 亚洲精品欧美专区| 成人性视频免费网站| 久久久久久久久久美女| 麻豆91在线播放免费| 在线观看91精品国产麻豆| 亚洲欧洲av一区二区三区久久| 国模冰冰炮一区二区| 日韩欧美一区在线| 日韩中文字幕麻豆| 911精品国产一区二区在线| 亚洲精品v日韩精品| 91麻豆国产在线观看| 国产精品美女久久久久高潮| 国产精品88av| 久久久青草青青国产亚洲免观| 久久国产精品区| 精品国精品自拍自在线| 美腿丝袜亚洲一区| 精品噜噜噜噜久久久久久久久试看 | 欧美精品粉嫩高潮一区二区| 性欧美疯狂xxxxbbbb| 欧美日韩一区二区三区在线| 亚洲综合视频在线| 欧美精品久久天天躁| 免费看日韩a级影片| 日韩视频在线一区二区| 久久99久久久久| 久久综合九色综合97婷婷| 国产很黄免费观看久久| 国产精品久久久久久福利一牛影视| 丁香六月综合激情| 亚洲精品亚洲人成人网| 911精品国产一区二区在线| 免费亚洲电影在线| 久久精品夜色噜噜亚洲aⅴ| 粉嫩aⅴ一区二区三区四区五区| 中文子幕无线码一区tr| 一本大道久久精品懂色aⅴ| 一区二区国产盗摄色噜噜| 欧美高清一级片在线| 蜜臀av性久久久久蜜臀aⅴ| 久久免费的精品国产v∧| 国产91在线|亚洲| 亚洲一级二级在线| 日韩欧美在线123| 成人免费毛片a| 日韩一区精品视频| 国产日韩欧美一区二区三区综合| 99久久99久久久精品齐齐| 亚洲国产aⅴ天堂久久| 久久综合久久久久88| 色综合久久99| 麻豆一区二区三区| 亚洲精品自拍动漫在线| 日韩欧美不卡一区| av在线播放成人| 日韩综合小视频| 国产精品天美传媒沈樵| 欧美剧情电影在线观看完整版免费励志电影 | 91福利精品视频| 国产麻豆成人精品| 亚洲电影中文字幕在线观看| 国产精品三级电影| 欧美日韩国产另类不卡| 成人黄动漫网站免费app| 日韩黄色小视频| 亚洲精品videosex极品| 欧美经典三级视频一区二区三区| 欧美人妖巨大在线| 色94色欧美sute亚洲线路一久| 狠狠久久亚洲欧美| 丝袜亚洲另类欧美综合| 综合电影一区二区三区 | 视频一区二区中文字幕| 日韩毛片精品高清免费| 国产欧美日本一区二区三区| 欧美一区二区三区喷汁尤物| 色欧美片视频在线观看| 99久久99久久精品免费看蜜桃 | 亚洲尤物视频在线| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲精品中文在线| 日韩毛片一二三区| 国产精品午夜久久| 久久综合999| 久久一区二区视频| 精品捆绑美女sm三区| 欧美α欧美αv大片| 91精品国产色综合久久不卡蜜臀| 91国产免费观看| 色天天综合色天天久久| 色综合网站在线| 色哟哟一区二区三区| 91在线视频官网| 99综合影院在线| 色欲综合视频天天天| 一本在线高清不卡dvd| 在线国产亚洲欧美| 欧美精品色一区二区三区| 91麻豆精品91久久久久久清纯| 91久久精品午夜一区二区| 色综合久久88色综合天天免费| 色综合久久久久网| 欧美性受xxxx| 7777精品伊人久久久大香线蕉完整版 | 夜夜操天天操亚洲| 亚洲综合久久av| 日韩国产在线观看一区| 丝瓜av网站精品一区二区| 日韩成人午夜电影| 国产一区在线观看麻豆| 不卡的av在线播放| 欧美在线综合视频| 欧美日本不卡视频| 精品久久久久久无| 国产精品国产三级国产普通话三级| 自拍偷拍亚洲综合| 亚洲综合成人网| 免播放器亚洲一区| 国产一区二区三区高清播放| av网站一区二区三区| 欧美日韩精品二区第二页| 日韩精品专区在线影院重磅| 国产女主播视频一区二区| 亚洲精品国产一区二区精华液| 亚洲一级二级三级在线免费观看| 久久国产夜色精品鲁鲁99| 99麻豆久久久国产精品免费优播| 老鸭窝一区二区久久精品| 一本色道久久综合狠狠躁的推荐| 欧美日精品一区视频| 久久亚洲综合av| 亚洲成a人片综合在线| 国产盗摄精品一区二区三区在线| av不卡一区二区三区| 欧美一级在线观看| 国产精品国产三级国产aⅴ无密码| 五月婷婷色综合| caoporen国产精品视频| 欧美一卡二卡三卡| 亚洲乱码中文字幕| 国内精品视频666| 欧美日韩免费视频| 成人免费一区二区三区视频|