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

面試突擊:MySQL 常用引擎有哪些?

數(shù)據庫 其他數(shù)據庫
MySQL 中最常見的存儲引擎有:InnoDB、MyISAM 和 MEMORY,其中 InnoDB 是 MySQL 5.1 之后默認的存儲引擎,它支持事務、支持外鍵、支持崩潰修復和自增列,它的特點是穩(wěn)定(能保證業(yè)務的完整性),但數(shù)據的讀寫效率一般。

MySQL 有很多存儲引擎(也叫數(shù)據引擎),所謂的存儲引擎是指用于存儲、處理和保護數(shù)據的核心服務。也就是存儲引擎是數(shù)據庫的底層軟件組織。在 MySQL 中可以使用“show engines”來查詢數(shù)據庫的所有存儲引擎,如下圖所示:

圖片

在上述列表中,我們最常用的存儲引擎有以下 3 種:

  • InnoDB
  • MyISAM
  • MEMORY

下面我們分別來看。

1.InnoDB

InnoDB 是 MySQL 5.1 之后默認的存儲引擎,它支持事務、支持外鍵、支持崩潰修復和自增列。如果對業(yè)務的完整性要求較高,比如張三給李四轉賬,需要減張三的錢,同時給李四加錢,這時候只能全部執(zhí)行成功或全部執(zhí)行失敗,此時可以通過 InnoDB 來控制事務的提交和回滾,從而保證業(yè)務的完整性。

優(yōu)缺點分析

InnoDB 的優(yōu)勢是支持事務、支持外鍵、支持崩潰修復和自增列;它的缺點是讀寫效率較差、占用的數(shù)據空間較大。

2.MyISAM

MyISAM 是 MySQL 5.1 之前默認的數(shù)據庫引擎,讀取效率較高,占用數(shù)據空間較少,但不支持事務、不支持行級鎖、不支持外鍵等特性。因為不支持行級鎖,因此在添加和修改操作時,會執(zhí)行鎖表操作,所以它的寫入效率較低。

優(yōu)缺點分析

MyISAM 引擎保存了單獨的索引文件 .myi,且它的索引是直接定位到 OFFSET 的,而 InnoDB 沒有單獨的物理索引存儲文件,且 InnoDB 索引尋址是先定位到塊數(shù)據,再定位到行數(shù)據,所以 MyISAM 的查詢效率是比 InnoDB 的查詢效率要高。但它不支持事務、不支持外鍵,所以它的適用場景是讀多寫少,且對完整性要求不高的業(yè)務場景。

3.MEMORY

內存型數(shù)據庫引擎,所有的數(shù)據都存儲在內存中,因此它的讀寫效率很高,但 MySQL 服務重啟之后數(shù)據會丟失。它同樣不支持事務、不支持外鍵。MEMORY 支持 Hash 索引或 B 樹索引,其中 Hash 索引是基于 key 查詢的,因此查詢效率特別高,但如果是基于范圍查詢的效率就比較低了。而前面兩種存儲引擎是基于 B+ 樹的數(shù)據結構實現(xiàn)了。

優(yōu)缺點分析

MEMORY 讀寫性能很高,但 MySQL 服務重啟之后數(shù)據會丟失,它不支持事務和外鍵。適用場景是讀寫效率要求高,但對數(shù)據丟失不敏感的業(yè)務場景。

4.查看和設置存儲引擎

4.1 查看存儲引擎

存儲引擎的設置粒度是表級別的,也就是每張表可以設置不同的存儲引擎,我們可以使用以下命令來查詢某張表的存儲引擎:

如下圖所示:

圖片

4.2 設置存儲引擎

在創(chuàng)建一張表的時候設置存儲引擎:

圖片

修改一張已經存在表的存儲引擎:圖片

總結

MySQL 中最常見的存儲引擎有:InnoDB、MyISAM 和 MEMORY,其中 InnoDB 是 MySQL 5.1 之后默認的存儲引擎,它支持事務、支持外鍵、支持崩潰修復和自增列,它的特點是穩(wěn)定(能保證業(yè)務的完整性),但數(shù)據的讀寫效率一般;而 MyISAM 的查詢效率較高,但不支持事務和外鍵;MEMORY 的讀寫效率最高,但因為數(shù)據都保存在內存中的,所以 MySQL 服務重啟之后數(shù)據就會丟失,因此它只適用于數(shù)據丟失不敏感的業(yè)務場景。

責任編輯:武曉燕 來源: Java面試真題解析
相關推薦

2022-05-11 07:41:55

死鎖運算線程

2022-06-01 12:00:54

HTTP狀態(tài)碼服務端

2022-04-11 07:40:45

synchroniz靜態(tài)方法程序

2022-03-23 08:51:21

線程池Java面試題

2022-04-07 07:40:40

線程安全變量

2022-05-05 07:38:32

volatilJava并發(fā)

2022-05-16 07:35:47

死鎖工具jstack

2022-05-23 07:35:15

單例模式懶漢模式靜態(tài)內部類

2022-09-19 06:16:23

事務隔離級別Spring

2022-04-18 07:36:37

TimeUnit線程休眠

2022-08-22 07:06:32

MyBatisSQL占位符

2022-07-06 07:35:19

group byMySQL

2022-08-03 07:04:56

GETHTTPPOST

2022-04-26 08:02:00

locktryLocklockInterr

2022-08-10 07:06:57

IoCDISpring

2022-04-24 07:59:53

synchronizJVMAPI

2022-02-08 07:02:32

進程線程操作系統(tǒng)

2022-08-15 07:06:50

Propertiesyml配置

2021-08-11 08:53:23

Git命令面試

2010-05-31 10:35:12

MySQL數(shù)據類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 尤物在线 | 99精品视频在线 | 国产精品大片在线观看 | 中文在线a在线 | 精品电影| 久久日韩精品 | 亚洲精品综合 | 日韩福利在线观看 | 亚洲一二三区不卡 | 一区二区av | 成人免费视频网站在线看 | 黄色毛片在线看 | 91精品国产乱码久久久久久久久 | 日韩一区二区在线视频 | 中文在线播放 | wwwxxx国产| 婷婷综合五月天 | 亚洲精品日韩精品 | www.五月天婷婷 | 黄网站免费在线看 | 国产精品永久 | 欧美看片 | 一区精品视频在线观看 | 欧美黑人又粗大 | 欧美精品一区二区在线观看 | 欧美福利久久 | 男女羞羞视频免费 | aa级毛片毛片免费观看久 | 午夜一区二区三区 | 欧美成人激情 | 免费在线观看一区二区 | 亚洲精品免费在线观看 | 伊人影院99 | 日韩在线一区二区 | 亚洲日韩中文字幕一区 | 久久av影院 | 国产精品久久久久久久久动漫 | 亚洲欧美国产毛片在线 | 欧美成人精品一区二区三区 | 日韩精品在线一区 | 99精品欧美一区二区蜜桃免费 |