1. 数据存储引擎
1.1. 查看数据库支持的存储引擎类型
1.1.1. 用show engines查询
show engines;
#\g功能;作用相同
show engines\g
#让结果显示更加美观
show engines\G
如下显示
mysql> show engines \G
*************************** 1. row ***************************
Engine: ndbcluster
Support: NO
Comment: Clustered, fault-tolerant tables
Transactions: NULL
XA: NULL
Savepoints: NULL
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 8. row ***************************
Engine: InnoDB
Support: YES
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 9. row ***************************
Engine: MyISAM
Support: DEFAULT
Comment: Default engine as of MySQL 3.23 with great performance
Transactions: NO
XA: NO
Savepoints: NO
9 rows in set (0.00 sec)
相关解析
Engine 存储引擎名称
Support 说明MYSQL是否支持该类引擎,YES表示支持,
Comment 对该引擎的评论
Transactions 表示是否支持事务处理,YES表示支持
XA 是否分布式交易处理的XA规范,YES表示支持
Savepoints 是否支持保存点,以便事务回滚到保存点,YES表示支持
1.1.2. SHOW语名句也可以显示支持的存储引擎的信息
SHOW VARIABLES LIKE 'have%';
如下显示
mysql> mysql> show variables like';
+-------------------------+----------+
| Variable_name | Value |
+-------------------------+----------+
| have_community_features | YES |
| have_compress | YES |
| have_crypt | YES |
| have_csv | YES |
| have_dynamic_loading | NO |
| have_geometry | YES |
| have_innodb | YES |
| have_ndbcluster | DISABLED |
| have_openssl | DISABLED |
| have_partitioning | YES |
| have_query_cache | YES |
| have_rtree_keys | YES |
| have_ssl | DISABLED |
| have_symlink | YES |
+-------------------------+----------+
14 rows in set (0.01 sec)
注意:Variable_name表示存储引擎的名称,第二列Value表示mysql的支持情况,YES表示支持,NO表示不支持,DISABLED表示支持但还没有开启
查询默认存储引擎
show variables like 'storage_engine';
技巧:
同一个数据库中可以使用多种存储引擎的表,三种存储引擎:InnoDB,MyISAM,MEMORY,
1.2. 3种存储引擎的不同特性
InnoDB:
支持事务处理,支持外键,同时支持崩溃修复能力和并发控制,可以实现事务的提交(Commit)和回滚(Rollback),
应用场景:对事务的完整性要求比较高,要求实现并发控制,选择InnoDB存储引擎有其很大的优势,频繁的进行更新,删除操作的数据库,也可选InnoDB存储引擎
MyISAM:
插入数据快,空间和内存使用比较低,
应用场景: 主要用于插入新纪录和读出记录,能实现处理的高效率,应用的完整性,并发性要求很低,也可选择MYISAM存储引擎
MEMORY:
所有数据都在内存中,数据的处理速度快,
应用场景:需要很快的读写速度,对数据的安全性要求较低,可以选择MEMORY存储引擎,对表的大小有要求,不能建立太大的表,只使用于相对较小的数据库表
阅读(3057) | 评论(0) | 转发(0) |