Mysql 存储引擎

[b]MySQL[/b]支持的存储引擎包括MyISAM,InnoDB,BDB,MEMORY,MERGE,EXAMPLE,NDB Cluster,ARCHIVE,CSV,BLACKHOLE,FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。查看默认存储引擎,可以使用以下命令:

mysql> show engines \G;
*************************** 1. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
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

省略之
第二种方法:

mysql> show variables like 'have%';
+----------------------+----------+
| Variable_name | Value |
+----------------------+----------+
| have_compress | YES |
| have_crypt | YES |
| have_csv | YES |
| have_dynamic_loading | YES |
| have_geometry | YES |
| have_innodb | YES |
| have_ndbcluster | NO |
| have_openssl | DISABLED |
| have_partitioning | YES |
| have_profiling | YES |
| have_query_cache | YES |
| have_rtree_keys | YES |
| have_ssl | DISABLED |
| have_symlink | YES |
+----------------------+----------+
14 rows in set (0.01 sec)


[table]
|特点 MyISAM InnoDB|
|存储限制 有 64TB|
|事务安全 支持|
|锁机制 表锁 行锁|
|全文索引 支持|
|支持外键 支持 |
[/table]

MyISAM是MySQL的默认存储引擎,不支持事务、也不支持外键,其优势是访问速度快,对事务完整性没有要求或者以SELECT、INSERT 为主的应用基本上都可以使用这个引擎来创建表。
InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

[b]如何选择合适的存储引擎?
[/b]
[list]
[*]MyISAM:如果应用是以读操作和插入操作为主,只有更少的更新和删除操作,并且对事务的完整性、并发性要求不是很高,那么选择这个存储引擎是非常合适的。
[*]InnoDB:用于事务处理应用程序,支持外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询以外,还包括很多的更新、删除操作,那么InnoDB存储引擎应该是比较合适的选择。
[/list]

参考书籍:
深入浅出MySQL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值