数据库—四种存储引擎
2018-02-05 20:37
197 查看
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。
存储引擎的选择
不同的存储引擎都有各自的特点,以适应不同的需求,如下表所示:
如果要提供提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择
如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率
如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果
如果只有INSERT和SELECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archive
使用哪一种引擎需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能
存储引擎的选择
不同的存储引擎都有各自的特点,以适应不同的需求,如下表所示:
功 能 | MYISAM | Memory | InnoDB | Archive |
存储限制 | 256TB | RAM | 64TB | None |
支持事物 | No | No | Yes | No |
支持全文索引 | Yes | No | No | No |
支持数索引 | Yes | Yes | Yes | No |
支持哈希索引 | No | Yes | No | No |
支持数据缓存 | No | N/A | Yes | No |
支持外键 | No | No | Yes | No |
如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率
如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果
如果只有INSERT和SELECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archive
使用哪一种引擎需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求,使用合适的存储引擎,将会提高整个数据库的性能
相关文章推荐
- mysql的优化(表的设计,优化步骤,四种索引,分析慢查询,使用索引的深入解析,存储引擎分析,表的分割,数据库配置)
- 数据库之——索引、触发器、事务(存储引擎)
- 解决:-1054932979 : OLAP 存储引擎中存在错误: 处理“MultidimensionalTest”数据库的“DIM产品”维度的“Id”属性时出错。
- MYSQL-----数据库的操作及存储引擎的选择
- 数据库的存储引擎和SQL语言
- Magento安装时数据库不支持InnoDB存储引擎问题的解决
- 数据库之――索引、触发器、事务(存储引擎)
- mysql存储过程——修改数据库的全部表的存储引擎
- 数据库的存储引擎和SQL语言
- 数据库存储引擎
- 四种mysql存储引擎
- MySQL外键及级联删除 && 表的存储引擎与创建索引 && 删除数据库和表
- InnoDB存储引擎_数据库隔离级别(一)
- MySQL之数据库存储引擎及事务ACID特性
- 列出mysql所有数据库表的存储引擎
- 四种mysql存储引擎
- 数据库 --- 索引、触发器、事务(存储引擎)
- 四种mysql存储引擎
- 数据库存储引擎学习
- Atitit.数据库存储引擎的原理与attilax 总结