1、存儲(chǔ)引擎簡(jiǎn)介
??MySQL可以將數(shù)據(jù)以不同的技術(shù)存儲(chǔ)在文件(內(nèi)存)中,該技術(shù)就被稱為存儲(chǔ)引擎。每一種存儲(chǔ)引擎使用不同的存儲(chǔ)機(jī)制、索引技巧、鎖定水平,最終提供廣泛且不同的功能。對(duì)于關(guān)系型數(shù)據(jù)庫而言,數(shù)據(jù)都是以數(shù)據(jù)表的形式存儲(chǔ)的,因此存儲(chǔ)引擎也可以理解為是表類型。
??例如:
??查看數(shù)據(jù)表“test”的建表結(jié)構(gòu):
??其中“ENGING = InnoDB”即為本節(jié)要講述的存儲(chǔ)引擎。而MySQL支持的常見存儲(chǔ)引擎有如下幾種:
??MyISAM、InnoDB、Memory、CSV、Archive
在介紹各個(gè)存儲(chǔ)引擎的特點(diǎn)之前,先來了解幾個(gè)相關(guān)知識(shí)點(diǎn):
2、存儲(chǔ)引擎的特點(diǎn)
| 特點(diǎn) | MyISAM | InnoDB | Memory | Archive |
|---|---|---|---|---|
| 存儲(chǔ)限制 | 無 | 64TB | 有 | 無 |
| 事務(wù)安全 | - | 支持 | - | - |
| 支持索引 | 支持 | 支持 | 支持 | |
| 鎖粒度 | 表鎖 | 行鎖 | 表鎖 | 行鎖 |
| 數(shù)據(jù)壓縮 | 支持 | - | - | 支持 |
| 支持外鍵 | - | 支持 | - | - |
MyISAM:擁有較高的插入,查詢速度,但不支持事務(wù),是在Web、數(shù)據(jù)倉儲(chǔ)和其他應(yīng)用環(huán)境下最常使用的存儲(chǔ)引擎之一;
InnoDB :事務(wù)型數(shù)據(jù)庫的首選引擎,提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全,支持ACID事務(wù),支持行級(jí)鎖定;
Memory:將所有數(shù)據(jù)保存在內(nèi)存中,在需要快速查找引用和其他類似數(shù)據(jù)的環(huán)境下,可提供極快的訪問,但如果數(shù)據(jù)庫重啟或崩潰,數(shù)據(jù)會(huì)丟失,因此只適合存儲(chǔ)臨時(shí)數(shù)據(jù);
Archive:適合存儲(chǔ)歸檔數(shù)據(jù),如日志信息。它只支持INSERT和SELECT操作,其設(shè)計(jì)的主要目的是提供高速的插入和壓縮功能;
CSV: 邏輯上由逗號(hào)分割數(shù)據(jù)的存儲(chǔ)引擎,它會(huì)在數(shù)據(jù)庫子目錄里為每個(gè)數(shù)據(jù)表創(chuàng)建一個(gè).CSV文件。這是一種普通文本文件,每個(gè)數(shù)據(jù)行占用一個(gè)文本行??梢詫xcel的數(shù)據(jù)存儲(chǔ)為CSV格式文件,再復(fù)制到MySQL的數(shù)據(jù)目錄下,就能在MySQL中以表的方式打開,因此適合作為一種數(shù)據(jù)交換機(jī)制。
3、修改存儲(chǔ)引擎
- 修改MySQL配置文件
-
創(chuàng)建數(shù)據(jù)表時(shí)指定
-
修改數(shù)據(jù)表的存儲(chǔ)引擎
版權(quán)聲明:歡迎轉(zhuǎn)載,歡迎擴(kuò)散,但轉(zhuǎn)載時(shí)請(qǐng)標(biāo)明作者以及原文出處,謝謝合作! ↓↓↓