1、存儲引擎簡介
??MySQL可以將數(shù)據(jù)以不同的技術(shù)存儲在文件(內(nèi)存)中,該技術(shù)就被稱為存儲引擎。每一種存儲引擎使用不同的存儲機(jī)制、索引技巧、鎖定水平,最終提供廣泛且不同的功能。對于關(guān)系型數(shù)據(jù)庫而言,數(shù)據(jù)都是以數(shù)據(jù)表的形式存儲的,因此存儲引擎也可以理解為是表類型。
??例如:
??查看數(shù)據(jù)表“test”的建表結(jié)構(gòu):

??其中“ENGING = InnoDB”即為本節(jié)要講述的存儲引擎。而MySQL支持的常見存儲引擎有如下幾種:
??MyISAM、InnoDB、Memory、CSV、Archive
在介紹各個存儲引擎的特點(diǎn)之前,先來了解幾個相關(guān)知識點(diǎn):
2、存儲引擎的特點(diǎn)
特點(diǎn) | MyISAM | InnoDB | Memory | Archive |
---|---|---|---|---|
存儲限制 | 無 | 64TB | 有 | 無 |
事務(wù)安全 | - | 支持 | - | - |
支持索引 | 支持 | 支持 | 支持 | |
鎖粒度 | 表鎖 | 行鎖 | 表鎖 | 行鎖 |
數(shù)據(jù)壓縮 | 支持 | - | - | 支持 |
支持外鍵 | - | 支持 | - | - |
MyISAM:擁有較高的插入,查詢速度,但不支持事務(wù),是在Web、數(shù)據(jù)倉儲和其他應(yīng)用環(huán)境下最常使用的存儲引擎之一;
InnoDB :事務(wù)型數(shù)據(jù)庫的首選引擎,提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全,支持ACID事務(wù),支持行級鎖定;
Memory:將所有數(shù)據(jù)保存在內(nèi)存中,在需要快速查找引用和其他類似數(shù)據(jù)的環(huán)境下,可提供極快的訪問,但如果數(shù)據(jù)庫重啟或崩潰,數(shù)據(jù)會丟失,因此只適合存儲臨時數(shù)據(jù);
Archive:適合存儲歸檔數(shù)據(jù),如日志信息。它只支持INSERT和SELECT操作,其設(shè)計的主要目的是提供高速的插入和壓縮功能;
CSV: 邏輯上由逗號分割數(shù)據(jù)的存儲引擎,它會在數(shù)據(jù)庫子目錄里為每個數(shù)據(jù)表創(chuàng)建一個.CSV文件。這是一種普通文本文件,每個數(shù)據(jù)行占用一個文本行。可以將Excel的數(shù)據(jù)存儲為CSV格式文件,再復(fù)制到MySQL的數(shù)據(jù)目錄下,就能在MySQL中以表的方式打開,因此適合作為一種數(shù)據(jù)交換機(jī)制。
3、修改存儲引擎
- 修改MySQL配置文件

-
創(chuàng)建數(shù)據(jù)表時指定
-
修改數(shù)據(jù)表的存儲引擎
版權(quán)聲明:歡迎轉(zhuǎn)載,歡迎擴(kuò)散,但轉(zhuǎn)載時請標(biāo)明作者以及原文出處,謝謝合作! ↓↓↓