浅谈MySQL的存储引擎
来源:互联网 发布:淘宝联盟如何省钱 编辑:程序博客网 时间:2024/06/07 07:26
简介: 数据库存储引擎是数据库底层软件组件,DBMS使用数据引擎进行查询、创建、更新和
删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存
储引擎还可以获得特定的功能。
1、 通过SHOW ENGINES \G; 查看当前MySQL支持的存储引擎。如图:
2. 常用存储引擎介绍
2.1 InnoDB存储引擎
InnoDB是事务型数据库的首选,支持事务安全表(ACID),支持行级锁和外键。MySQL5.5.5之后
InnoDB作为默认的存储引擎,InnoDB主要特性有:
1) InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID)存储引擎。
2) InnoDB是为处理巨大数据量的最大性能设计。
3) InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索
引而维持它自己的缓冲池。InnoDB将它的表和索引在一个逻辑表空间中,表空间可以包含数个
文件(或者原始磁盘分区)。
4) InnoDB支持外键完整性约束(FOREIGN KEY)。
5) InnoDB被用在众多需要高性能的大型数据库站点上。
2.2 MyISAM存储引擎
MyISAM是在Web、数据仓储和其他应用环境最常用的存储引擎之一。MyISAM具有较高的插入、
查询速度,但不支持事务。在MySQL5.5.5之前的版本中,MyISAM是默认存储引擎。主要特性有:
1) BLOB 和 TEXT 列可以被索引。
2) NULL值被允许在索引列中。这个值占每个键的0~1个字节。
..............
2.3 MEMORY存储引擎
MEMORY 存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。
1) MEMORY 不支持BLOB或者TEXT列。
................
3 存储引擎的选择
先来比较下各自的功能支持度。如下:
功能
MyISAM
MEMORY
InnoDB
存储限制
256TB
RAM
64TB
支持事务
不支持
不支持
支持
支持全文索引
支持
不支持
不支持
支持树索引
支持
支持
支持
支持哈希索引
不支持
支持
不支持
支持外键
不支持
不支持
支持
总结:
如果要提供提交,回滚和崩溃恢复能力的事务安全(ACID兼容)能力,并要求时限并发控制,
InnoDB是个很好的选择。
如果数据表主要用来插入和查询,则MyISAM引擎能提供较高的处理效率。
如果只是临时存放数据,数据量不大,并且并不需要较高的数据安全性,可以选择奖数据保存
在内存中的MEMORY引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果。
结语:
使用哪一种引擎要根据需要灵活选择,一个数据库中的多个表可以使用不同的引
擎以满足各种性能和实际需求。使用合适的存储引擎,将会提高整个数据库的性能。
0 0
- 浅谈MySQL的存储引擎
- MySQL之浅谈MySQL的存储引擎
- 浅谈mysql数据库存储引擎的选择
- 浅谈MySQL的存储引擎之表类型存储
- MySQL浅谈MyISAM存储引擎
- MYSQL 浅谈MyISAM 存储引擎
- [MySQL] 浅谈InnoDB存储引擎
- MySQL,浅谈MyISAM存储引擎
- MYSQL 浅谈MyISAM 存储引擎
- MYSQL 浅谈MyISAM 存储引擎
- MYSQL 浅谈MyISAM 存储引擎
- MYSQL 浅谈MyISAM 存储引擎
- MYSQL 浅谈MyISAM 存储引擎
- 浅谈MySql的存储引擎(表类型)
- 浅谈MySql的存储引擎(表类型)
- 浅谈MySql的存储引擎(表类型)
- 浅谈MySql的存储引擎(表类型)
- 浅谈MySql的存储引擎(表类型)
- MySQL 用户管理
- MySQL存储过程和函数
- 浅析MySQL索引
- SQL Union和SQL Union All用法
- 01.流程结构
- 浅谈MySQL的存储引擎
- 02.函数和指针
- MySQL 中LIMIT用法
- CMD登录MYSQL操作步骤
- MySQL常用函数
- (一) MySQL 查询分析
- Java WEB安全问题及解决方案
- Effective C++——》条款16:成对使用new和delete时要采取相同的形式
- (二) Schema设计优化 与 数据类型优化