数据库-->浅谈Mysql不同存储引擎之间的区别
2019-07-17 15:25
225 查看
MyISAM存储引擎
缺点:不支持事务、不支持外键 优点:访问速度快,支持全文索引、压缩索引 应用场景:对事务完整性没有要求或者以select/insert为主的应用基本上可以用这个引擎创建表
InnoDB存储引擎
缺点:相对MyISAM引擎写的处理速率会差一些,并且会占用更多的磁盘空间以保留数据和索引 优点:支持事务、支持自增长列、支持外键约束
Memory存储引擎
缺点:一旦服务关闭,表中数据就会丢失 优点:Memory存储引擎使用存在于内存中的内容来创建表,每个memory表对应一个.frm磁盘文件。访问速度非常快,默认使用hash索引,可选择B-tree索引
Merge存储引擎
-- 一组MyISAM表的组合
InnoDB 和 MyISAM对比
-- 事务:MyISAM不支持事务,InnoDB支持事务以及外键约束 -- 性能:MyISAM的表强调的是性能 -- 行数保存:InnoDB不保存表的具体行数,select count(*) from table ,InnoDB要扫描整张表来计算多少行,而MyISAM只需要读取保存的数据即可。 当count(*)包含where条件时,两种类型操作一样 -- 索引:对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是MyISAM表中可以和其他字段建立联合索引 MyISAM支持全文索引、压缩索引,InnoDB不支持 MyISAM的索引和数据是分开的,并且索引有压缩而InnoDB的索引和数据是金币捆绑的 -- 服务器数据备份:InnoDB必须导出SQL来备份,而MyISAM数据恢复速度快,MyISAM的数据是以文件的形式存储, 跨平台数据转移方便,InnoDB是拷贝数据文件、备份binlog或者用mysqldump,数据量大比较麻烦 -- 锁的支持:MyISAM只支持表锁,InnoDB支持表锁、行锁 InnoDB的行锁,只有在where条件是主键有效,非主键会锁全表
索引类型
B-Tree索引 -- 从根节点到枝节点,最后才能访问到页节点 Hash索引 -- 检索一次定位,查询效率非常高 -- 不支持‘like’模糊查询 ISAM索引 -- 顺序存储
持续更新中...
相关文章推荐
- 数据库-->浅谈Mysql索引类型以及不同索引之间的区别
- 数据库 --> MySQL存储引擎介绍
- mysql+asp.net开发注意大全:mysql创建数据库的时候,创建新用户,并且付给权限。mysql存储过程的编写,mysql数据库引擎的区别,mysql数据库文件夹备份
- mysql各存储引擎之间的区别
- mysql 不同的数据库存储引擎
- explain命令和mysql不同存储引擎的区别
- Mysql 数据库之存储引擎(MyISAM和InnoDB)
- MySQL存储引擎--MyISAM与InnoDB区别
- MySQL存储引擎MyISAM与InnoDB区别
- MySQL各存储引擎的区别及其启动方法
- MySQL之浅谈MySQL的存储引擎
- MySQL存储引擎--MyISAM与InnoDB区别
- 数据库学习篇之数据存储引擎(mysql)
- SQL Server 、Oracle和MySQL三种数据库的增删改查SQL语句与它们之间的区别
- 浅谈MySQL存储引擎 InnoDB和MyISAM
- MySQL更改数据库表的存储引擎
- mysql 的存储引擎种类 以及分类 区别
- 浅谈MySql的存储引擎(表类型)
- MySQL存储引擎--MyISAM与InnoDB区别
- 浅谈MySQL存储引擎-InnoDB&MyISAM