chengfengjie / chengfengjie.github.io

我叫MT
1 stars 0 forks source link

mysql 存储引擎 #28

Open chengfengjie opened 6 years ago

chengfengjie commented 6 years ago

概述

MySQL 5.0 支持的存储引擎包括: MyISAM, InnoDB, BDB, MEMORY, MERGE, EXAMPLE, NDB Cluster, ARCHIVE, CSV, BLACKHOLE, FEDERATED等,其中InnoDB和BDB提供事物安全表,其他存储引擎都是非事物安全表,创建表如果不置顶存储引擎,系统会使用默认的存储引擎,MySQL 5.5以前的默认存储引擎是MyISAM, 5.5之后的默认存储引擎是InnoDB

chengfengjie commented 6 years ago

存储引擎的特性

特点MyISANBDBMemoryInnoDBArchive
存储限制 没有 没有 64TB 没有
事务安全   支持   支持  
锁机制 表锁 页锁 表锁 行锁 行锁
B树索引 支持 支持 支持 支持  
哈希索引     支持 支持  
全文索引 支持        
集群索引       支持  
数据缓存     支持 支持  
索引缓存 支持   支持 支持  
数据可压缩 支持       支持
空间使用 N/A 非常低
内存使用 中等
批量插入的速度 非常高
支持外键       支持  
chengfengjie commented 6 years ago

InnoDB

InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全,但是对比MyISAM的存储引擎,InnoDB的写的处理效率差一些,并且会占用更多的磁盘空间以保存数据和索引。