mysql存储引擎类型及存储引擎的选择
来源:互联网 发布:mac set android ndk 编辑:程序博客网 时间:2024/05/05 03:11
(一)存储引擎查看
mysql支持多种存储引擎,在处理不同类型的应用时,可以通过选择使用不同的存储引
擎提高应用的效率,或者提供灵活的存储。
mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、
ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引
擎都是非事务安全表。
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
最常使用的2 种存储引擎:
1. Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默
认使用Myisam。
每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm
(存储表定义)、.MYD (MYData,存储数据)、.MYI (MYIndex,存储索引)。数据文件和
索引文件可以放置在不同的目录,平均分布io,获得更快的速度。
2. InnoDB 存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam
的存储引擎,InnoDB 写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索
引。
(1)查看默认的存储引擎:
mysql> show variables like '%storage_engine%';
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| default_storage_engine | InnoDB |
| storage_engine | InnoDB |
+------------------------+--------+
2 rows in set (0.01 sec)
mysql>
(二)各类 存储引擎的选择:
选择标准: 根据应用特点选择合适的存储引擎,对于复杂的应用系统可以根据实际情况选择
多种存储引擎进行组合.
下面是常用存储引擎的适用环境:
1. MyISAM:默认的MySQL 插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常
使用的存储引擎之一
2. InnoDB:用于事务处理应用程序,具有众多特性,包括ACID 事务支持。
3. Memory:将所有数据保存在RAM 中,在需要快速查找引用和其他类似数据的环境下,可
提供极快的访问。
4. Merge:允许MySQL DBA 或开发人员将一系列等同的MyISAM 表以逻辑方式组合在一起,
并作为1 个对象引用它们。对于诸如数据仓储等VLDB 环境十分适合。
- mysql存储引擎类型及存储引擎的选择
- MySQL存储引擎--存储引擎的选择
- Mysql 存储引擎的选择
- Mysql存储引擎的选择
- MySQL存储引擎的选择
- MySQL存储引擎的选择
- MySQL存储引擎的选择
- mysql 存储引擎的选择
- mysql存储引擎的选择
- MySQL存储引擎的选择
- MySQL存储引擎选择
- mysql存储引擎选择
- mysql存储引擎选择
- mysql 存储引擎选择
- Mysql存储引擎类型
- Mysql 存储引擎类型
- Mysql学习笔记二, 表类型(存储引擎)的选择
- MySQL 的各存储引擎特点-MySQ 存储引擎选择
- openstack -Block Storage - Boot from volume
- 0003 容易混淆的格林威治时间和不同于格林威治时区的时间转化【基础】
- MFC的CListCtrl的使用与技巧
- 自己(女程序员)的奋斗路程
- #ifdef __cplusplus extern "C" { #endif 的解释
- mysql存储引擎类型及存储引擎的选择
- .net中将Json包装类
- Jquery计算输入文字个数(类似微博)
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- (Relax ST1.8)POJ 1517 u Calculate e(求各阶乘累加之和)
- [整理]Objective-C与C++的不同和鸭子类型
- android sdk 无法更新问题
- [转载]C++中静态成员数据与静态成员函数小结
- The Beautiful Sentences