MySql學習筆記—引擎相關

存儲引擎

Mysql支持多種引擎,在5.5版本後默認爲InnoDB,以前爲MISAM。sql

查看支持的存儲引擎

SHOW ENGINES
複製代碼

建立數據庫時指定引擎

CREATE TABLE TEST(NAME VARCHAR(255)) ENGINE =InnoDB;
複製代碼

修改引擎

alter table test engine =InnoDB;
複製代碼

常見幾種不一樣引擎的特性

MyISAM

不支持事務,不支持外鍵,訪問速度快。以SELECT,INSERT爲主的的應用能夠使用該引擎。數據庫

表可能會損壞,可修復。緩存

支持三種不一樣的存儲格式,分別是靜態表、動態表和壓縮表。安全

靜態表字段長度不可變,優勢是存儲迅速,易緩存,出現故障易恢復,缺點是佔用空間較大,由於字段長度不可變,會填充空格,在訪問時會去除空格。若原數據尾部存在空格也會去除。工具

動態表字段長度可變,佔用空間少。若頻繁更新和刪除記錄會產生碎片,須要按期執行 OPTIMIZE 命令來優化性能,出現故障較難恢復性能

壓縮表由myisampack 工具建立,佔用空間很是小。優化

InnoDB

InnoDB提供了事務安全,具備提交、回滾、崩潰恢復能力。可是寫效率較差,會佔用更多的資源保留數據和索引。spa

與其餘數據庫的差別:code

  • 自動增加列cdn

    自動增加列必須是索引。

  • 外鍵約束

    InnoDB是Mysql惟一支持外鍵的引擎。

  • 存儲方式

    InnoDB有兩種存儲表方式,共享表空間存儲和多表空間存儲。

MEMORY

數據存放在內存中,訪問速度極快,默認採起哈希索引。一旦服務關閉,數據就會丟失。

相關文章
相關標籤/搜索