亚洲精品黑牛一区二区三区_女人被两根一起进3p的动漫_色屁屁草草影院ccyycom_老年人毛片_免费无码无遮挡永久色情聊天_91第一页_九色视频导航_四虎影视免费永久观看在线_欧美性色网_一级黄色大片_五月婷婷欧美激情_性一交一乱一做一爱_亚洲精品精_无遮挡免费看_涩涩的视频在线观看_红杏成人免费视频观看_国产老熟女狂叫对白_91成人影库_免费成人_国产亚洲精品AA片在线观看_成熟丰满熟妇AV无码区_少妇被粗大的猛烈进出视频_国产大奶在线_国产无套一区二区三区久久_99爱99_国产91色综合_国产成人精品无码免费看在线_厨房里的激战2免费观看_91亚洲精华国产精华_天天干免费视频

移動端

MySQL存儲引擎知多少

2018年09月03日 09:31 點擊量:1117

  MySQL是我們經(jīng)常使用的數(shù)據(jù)庫處理系統(tǒng)(DBMS),不知小伙伴們有沒有注意過其中的“存儲引擎”(storage_engine)呢?有時候面試題中也會問道MySQL幾種常用的存儲引擎的區(qū)別。這次就簡短侃一下存儲引擎那些事兒。
 
  引擎(Engine)是電子平臺上開發(fā)程序或系統(tǒng)的核心組件。利用引擎,可迅速建立、鋪設程序所需的功能,或利用其輔助程序的運轉(zhuǎn)。一般而言,引擎是一個程序或一套系統(tǒng)的支持部分。常見的程序引擎有游戲引擎,搜索引擎,殺毒引擎等。
 
  Ok,我們知道了,引擎就是一個程序的核心組件。簡單來說,存儲引擎就是指表的類型以及表在計算機上的存儲方式。
 
  存儲引擎的概念是MySQL的特點,Oracle中沒有專門的存儲引擎的概念,Oracle有OLTP和OLAP模式的區(qū)分。不同的存儲引擎決定了MySQL數(shù)據(jù)庫中的表可以用不同的方式來存儲。我們可以根據(jù)數(shù)據(jù)的特點來選擇不同的存儲引擎。
 
  在MySQL中的存儲引擎有很多種,可以通過“SHOW ENGINES”語句來查看。下面重點關注InnoDB、MyISAM、MEMORY這三種。
 
  一、InnoDB存儲引擎
 
  InnoDB給MySQL的表提供了事務處理、回滾、崩潰修復能力和多版本并發(fā)控制的事務安全。在MySQL從3.23.34a開始包含InnnoDB。它是MySQL上個提供外鍵約束的表引擎。而且InnoDB對事務處理的能力,也是其他存儲引擎不能比擬的??亢蟀姹镜腗ySQL的默認存儲引擎就是InnoDB。
 
  InnoDB存儲引擎總支持AUTO_INCREMENT。自動增長列的值不能為空,并且值必須唯yi。MySQL中規(guī)定自增列必須為主鍵。在插入值的時候,如果自動增長列不輸入值,則插入的值為自動增長后的值;如果輸入的值為0或空(NULL),則插入的值也是自動增長后的值;如果插入某個確定的值,且該值在前面沒有出現(xiàn)過,就可以直接插入。
 
  InnoDB還支持外鍵(FOREIGN KEY)。外鍵所在的表叫做子表,外鍵所依賴(REFERENCES)的表叫做父表。父表中被字表外鍵關聯(lián)的字段必須為主鍵。當刪除、更新父表中的某條信息時,子表也必須有相應的改變,這是數(shù)據(jù)庫的參照完整性規(guī)則。
 
  InnoDB中,創(chuàng)建的表的表結(jié)構(gòu)存儲在.frm文件中(我覺得是frame的縮寫吧)。數(shù)據(jù)和索引存儲在innodb_data_home_dir和innodb_data_file_path定義的表空間中。
 
  InnoDB的優(yōu)勢在于提供了良好的事務處理、崩潰修復能力和并發(fā)控制。缺點是讀寫效率較差,占用的數(shù)據(jù)空間相對較大。
 
  二、MyISAM存儲引擎
 
  MyISAM是MySQL中常見的存儲引擎,曾經(jīng)是MySQL的默認存儲引擎。MyISAM是基于ISAM引擎發(fā)展起來的,增加了許多有用的擴展。
 
  MyISAM的表存儲成3個文件。文件的名字與表名相同。拓展名為frm、MYD、MYI。其實,frm文件存儲表的結(jié)構(gòu);MYD文件存儲數(shù)據(jù),是MYData的縮寫;MYI文件存儲索引,是MYIndex的縮寫。
 
  基于MyISAM存儲引擎的表支持3種不同的存儲格式。包括靜態(tài)型、動態(tài)型和壓縮型。其中,靜態(tài)型是MyISAM的默認存儲格式,它的字段是固定長度的;動態(tài)型包含變長字段,記錄的長度不是固定的;壓縮型需要用到myisampack工具,占用的磁盤空間較小。
 
  MyISAM的優(yōu)勢在于占用空間小,處理速度快。缺點是不支持事務的完整性和并發(fā)性。
 
  三、MEMORY存儲引擎
 
  MEMORY是MySQL中一類特殊的存儲引擎。它使用存儲在內(nèi)存中的內(nèi)容來創(chuàng)建表,而且數(shù)據(jù)全部放在內(nèi)存中。這些特性與前面的兩個很不同。
 
  每個基于MEMORY存儲引擎的表實際對應一個磁盤文件。該文件的文件名與表名相同,類型為frm類型。該文件中只存儲表的結(jié)構(gòu)。而其數(shù)據(jù)文件,都是存儲在內(nèi)存中,這樣有利于數(shù)據(jù)的快速處理,提高整個表的效率。值得注意的是,服務器需要有足夠的內(nèi)存來維持MEMORY存儲引擎的表的使用。如果不需要了,可以釋放內(nèi)存,甚至刪除不需要的表。
 
  MEMORY默認使用哈希索引。速度比使用B型樹索引快。當然如果你想用B型樹索引,可以在創(chuàng)建索引時。
 
  注意,MEMORY用到的很少,因為它是把數(shù)據(jù)存到內(nèi)存中,如果內(nèi)存出現(xiàn)異常就會影響數(shù)據(jù)。如果重啟或者關機,所有數(shù)據(jù)都會消失。因此,基于MEMORY的表的生命周期很短,一般是一次性的。
 
  四、怎樣選擇存儲引擎
 
  在實際工作中,選擇一個合適的存儲引擎是一個比較復雜的問題。每種存儲引擎都有自己的優(yōu)缺點,不能籠統(tǒng)地說誰比誰好。
 
  InnoDB:支持事務處理,支持外鍵,支持崩潰修復能力和并發(fā)控制。如果需要對事務的完整性要求比較高(比如銀行),要求實現(xiàn)并發(fā)控制(比如售票),那選擇InnoDB有很大的優(yōu)勢。如果需要頻繁的更新、刪除操作的數(shù)據(jù)庫,也可以選擇InnoDB,因為支持事務的提交(commit)和回滾(rollback)。
 
  MyISAM:插入數(shù)據(jù)快,空間和內(nèi)存使用比較低。如果表主要是用于插入新記錄和讀出記錄,那么選擇MyISAM能實現(xiàn)處理率。如果應用的完整性、并發(fā)性要求比 較低,也可以使用。
 
  MEMORY:所有的數(shù)據(jù)都在內(nèi)存中,數(shù)據(jù)的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對數(shù)據(jù)的安全性要求較低,可以選擇MEMOEY。它對表的大小有要求,不能建立太大的表。所以,這類數(shù)據(jù)庫只使用在相對較小的數(shù)據(jù)庫表。
 
  注意,同一個數(shù)據(jù)庫也可以使用多種存儲引擎的表。如果一個表要求比較高的事務處理,可以選擇InnoDB。這個數(shù)據(jù)庫中可以將查詢要求比較高的表選擇MyISAM存儲。如果該數(shù)據(jù)庫需要一個用于查詢的臨時表,可以選擇MEMORY存儲引擎。
版權(quán)與免責聲明: 凡本網(wǎng)注明“來源:智慧城市網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡有限公司-智慧城市網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應在授權(quán)范圍內(nèi)使用,并注明“來源:智慧城市網(wǎng)www.xuelingski.com”。違反上述聲明者,本網(wǎng)將追究其相關法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它來源(非智慧城市網(wǎng)www.xuelingski.com)的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或和對其真實性負責,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權(quán)等法律責任。

編輯精選

更多

本站精選

更多

專題推薦

更多

名企推薦

更多

浙公網(wǎng)安備 33010602000006號

91在线视频免费 | 免费A级毛片黄A片高清在线播放 | 九色视频精品 | 国产第一区在线观看 | 老司机福利免费视频 | 一级全黄男女免费大片 | 新木乃伊在线观看免费完整 | 国产最新进精品视频 | 国产小u女在线未发育 | 国产女人高潮抽搐喷水免费视频 | 99C视频色欲在线 | 亚洲一级免费毛片 | YW尤物AV无码国产在线观看 | 99精品在线观看视频 | 久亚洲精品 | 伊人春色网 | 成在人线AV无码免费高潮水老板 | 久久久免费精品少妇高潮毛片 | 欧美日韩精品一区二区三区在线观看 | 蜜芽亚洲AV无码精品国产午夜 | 精品99人妻| 久久久久久久久久久久久久久伊免 | www.日日夜夜| 免费观看成年视频网站 | 蜜桃视频在线观看网站 | 欧美成人A片无码免费 | 国语黄色录像 | 91女女互慰吃奶在线 | 少妇淫片| 天天操天天操天天色天天要 | 少妇精品偷拍高潮少妇小说 | 不愉快的果实在线观看 | 国产69精品久久久久乱码韩国 | 国产91网| 亚洲精品第一国产综合精品 | 欧美日本高清 | 国产精品av久久久久久久久久 | 黄色片在哪里可以看 | 99热首页| 中文字字幕在线中文乱码6 成熟女人色惰片免费视频 精品国产乱码久久久久禁果 | 中文字幕天使萌在线va |