表在資料庫中的存盤方式,
存盤引擎只存在mysql中,(Oracle中有對應機制,但是不叫存盤引擎),
完整的建表陳述句:
CREATE TABLE mytable( id INT(10) PRIMARY KEY, username VARCHAR(30) NOT NULL, PASSWORD VARCHAR(30) )ENGINE = InnoDB Default CAHRSET=UTF8;
注意:在MYSQL當中,凡是識別符號可以使用飄號括起來,最好別用,不通用!
建表的時候可以指定存盤引擎,也可以指定字符集,
mysql默認的存盤引擎是InnoDB的方式!默認采用的字符集是UFT-8
mysql> show engines \G #查看當前,mysql版本支持的存盤引擎命令! 當前MYSQL版本是5.7.33,支持9種存盤引擎!
1.常見的存盤引擎:
- MyISAM 存盤索引
- InnoDB 存盤索引
- MEMORY 存盤索引
2.MyISAM 存盤引擎:
MyISAM:這種存盤引擎不支持事務,是最常用的但不是默認的
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO #不支持事務!
XA: NO
Savepoints: NO
它管理的表具有以下特征:

使用三個檔案表示每個表 :
- 格式檔案 — 存盤表的結構(mytable.frm)
- 資料檔案 — 存盤表的資料(mytable.MYD)
- 索引檔案 — 存盤表中索引的檔案(mytable.MYI)
優點:可被轉換為壓縮,來節省空間,并且可以轉換為只讀表,提高檢索效率!
缺點:不支持事務!
3.InnoDB 存盤引擎:
支持事務,行級鎖,外鍵等 ;這種存盤引擎安全,
Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
- 表的結構存盤在xxx.frm檔案當中
- 資料存盤在tablespace這樣的表空間當中(邏輯概念),無法被壓縮,無法被轉換為只讀!
- 這種InnoDB存盤引擎在MYSQL資料庫崩潰之后提供自動恢復機制!【事務、安全、重量級】
- 支持級聯洗掉和級聯更新,
4.MEMORY 存盤引擎:
所有資料保存在記憶體中,斷電即失,但是查詢速度超級快!
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
- 在資料庫目錄當中,每個表均已.frm格式的檔案表示
- 表資料以及索引被存盤在記憶體當中
- 表級鎖機制
- 不能包含TEXT(CLOB)或BLOB欄位
- 查詢速度快
本文來自博客園,作者:腹白,轉載請注明原文鏈接:https://www.cnblogs.com/wyh518/
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/520738.html
標籤:其他
上一篇:事務(Transaction)
