成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL各種存儲引擎對比總結

數據庫 MySQL
存儲引擎是數據庫的核心,對于mysql來說,存儲引擎是以插件的形式運行的。雖然mysql支持種類繁多的存儲引擎,但是常用的就那么幾種。這篇文章主要是對其進行一個總結和對比。

 存儲引擎是數據庫的核心,對于mysql來說,存儲引擎是以插件的形式運行的。雖然mysql支持種類繁多的存儲引擎,但是常用的就那么幾種。這篇文章主要是對其進行一個總結和對比。

[[312536]]

一、引言

在mysql5之后,支持的存儲引擎有十幾個,但是常用的就那么幾種,而且默認支持的也是InnoDB,既然要進行一個對比,我們就要從不同的維度來看一下。

我們可以使用命令來看看當前數據庫可以支持的存儲引擎有哪些。

 Mysql各種存儲引擎對比總結

在這里我們發現默認支持了9種。還是比較多的,下面我們進行一個對比。

不同的存儲引擎都有各自的特點,以適應不同的需求,如表所示。為了做出選擇,首先要考慮每一個存儲引擎提供了哪些不同的功能。

 Mysql各種存儲引擎對比總結

在這里我們列舉了一些特點并作出了比較。下面我們來具體分析對比一下。

二、存儲引擎

1、MyISAM

使用這個存儲引擎,每個MyISAM在磁盤上存儲成三個文件。

(1)frm文件:存儲表的定義數據

(2)MYD文件:存放表具體記錄的數據

(3)MYI文件:存儲索引

frm和MYI可以存放在不同的目錄下。MYI文件用來存儲索引,但僅保存記錄所在頁的指針,索引的結構是B+樹結構。下面這張圖就是MYI文件保存的機制:

 Mysql各種存儲引擎對比總結

從這張圖可以發現,這個存儲引擎通過MYI的B+樹結構來查找記錄頁,再根據記錄頁查找記錄。并且支持全文索引、B樹索引和數據壓縮。

支持數據的類型也有三種:

(1)靜態固定長度表

這種方式的優點在于存儲速度非常快,容易發生緩存,而且表發生損壞后也容易修復。缺點是占空間。這也是默認的存儲格式。

(2)動態可變長表

優點是節省空間,但是一旦出錯恢復起來比較麻煩。

(3)壓縮表

上面說到支持數據壓縮,說明肯定也支持這個格式。在數據文件發生錯誤時候,可以使用check table工具來檢查,而且還可以使用repair table工具來恢復。

有一個重要的特點那就是不支持事務,但是這也意味著他的存儲速度更快,如果你的讀寫操作允許有錯誤數據的話,只是追求速度,可以選擇這個存儲引擎。

2、InnoDB

InnoDB是默認的數據庫存儲引擎,他的主要特點有:

(1)可以通過自動增長列,方法是auto_increment。

(2)支持事務。默認的事務隔離級別為可重復度,通過MVCC(并發版本控制)來實現的。

(3)使用的鎖粒度為行級鎖,可以支持更高的并發;

(4)支持外鍵約束;外鍵約束其實降低了表的查詢速度,但是增加了表之間的耦合度。

(5)配合一些熱備工具可以支持在線熱備份;

(6)在InnoDB中存在著緩沖管理,通過緩沖池,將索引和數據全部緩存起來,加快查詢的速度;

(7)對于InnoDB類型的表,其數據的物理組織形式是聚簇表。所有的數據按照主鍵來組織。數據和索引放在一塊,都位于B+數的葉子節點上;

當然InnoDB的存儲表和索引也有下面兩種形式:

(1)使用共享表空間存儲:所有的表和索引存放在同一個表空間中。

(2)使用多表空間存儲:表結構放在frm文件,數據和索引放在IBD文件中。分區表的話,每個分區對應單獨的IBD文件,分區表的定義可以查看我的其他文章。使用分區表的好處在于提升查詢效率。

對于InnoDB來說,比較大的特點在于支持事務。但是這是以損失效率來換取的。

3、Memory

將數據存在內存,為了提高數據的訪問速度,每一個表實際上和一個磁盤文件關聯。文件是frm。

(1)支持的數據類型有限制,比如:不支持TEXT和BLOB類型,對于字符串類型的數據,只支持固定長度的行,VARCHAR會被自動存儲為CHAR類型;

(2)支持的鎖粒度為表級鎖。所以,在訪問量比較大時,表級鎖會成為MEMORY存儲引擎的瓶頸;

(3)由于數據是存放在內存中,一旦服務器出現故障,數據都會丟失;

(4)查詢的時候,如果有用到臨時表,而且臨時表中有BLOB,TEXT類型的字段,那么這個臨時表就會轉化為MyISAM類型的表,性能會急劇降低;

(5)默認使用hash索引。

(6)如果一個內部表很大,會轉化為磁盤表。

在這里只是給出3個常見的存儲引擎。使用哪一種引擎需要靈活選擇,一個數據庫中多個表可以使用不同引擎以滿足各種性能和實際需求,使用合適的存儲引擎,將會提高整個數據庫的性能

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2011-08-01 23:08:33

MySQL存儲引擎

2010-11-23 11:27:53

MySQL MyISA

2018-08-31 10:53:25

MySQL存儲引擎

2012-03-20 11:16:24

MySQLMyISAM

2011-08-16 16:22:38

MySQL數據庫存儲引擎MyISAM

2019-01-14 14:25:25

MySQL存儲邏輯架構

2019-06-11 16:11:16

MySQLMyISAMInnoDB

2021-08-10 14:29:06

MySQL數據庫存儲

2019-08-16 01:58:01

MySQL索引事務

2011-05-03 10:09:37

MySQL存儲引擎

2015-08-26 10:13:55

排序算法總結

2019-05-07 16:19:03

MySQL存儲引擎

2010-05-21 10:58:19

MySQL存儲引擎

2010-06-13 13:50:02

MySQL存儲引擎

2009-02-02 09:31:25

MySQL存儲引擎MyISAM

2009-12-17 14:29:50

Ruby on Rai

2009-12-25 10:46:36

WPF Page

2009-12-23 16:39:55

WPF命令

2018-04-23 09:25:24

MySQL結構存儲

2010-05-21 16:10:28

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧洲精品一区 | 成人av影院 | 国产一级免费视频 | 一级黄在线观看 | 亚洲一区二区三区在线观看免费 | 欧美freesex黑人又粗又大 | 亚洲福利视频一区二区 | 视频二区 | 日韩精品一区二区三区中文在线 | 日韩精品三区 | 精品久久久久久久久久 | 涩爱av一区二区三区 | 91网站在线观看视频 | av中文在线观看 | 日韩一级在线 | 黄色大片免费网站 | 91素人 | 久久成人一区二区三区 | 国产农村妇女精品一区 | 伊人导航| 精品国产乱码一区二区三区 | 国精久久 | 国产探花 | 欧美一区二区三区在线视频 | 日本黄色的视频 | 欧美4p| 亚洲www啪成人一区二区 | 欧美激情一区二区三级高清视频 | 午夜精品久久久 | 久久精品国产久精国产 | 99精品欧美| 欧美成人免费在线 | 亚洲综合在线一区 | 在线亚洲欧美 | 国产午夜精品一区二区三区四区 | 国产成人精品亚洲日本在线观看 | 久久久噜噜噜久久中文字幕色伊伊 | 久久国产精品偷 | 狠狠干狠狠操 | 国产精品嫩草影院精东 | 色男人的天堂 |