mysql engine存储引擎
来源:互联网 发布:相片合成软件下载 编辑:程序博客网 时间:2024/05/17 02:51
一、存储引擎
MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
二、查看所用存储引擎、是否支持
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
三、使用存储引擎engine
create table table_name(column type) engine = Innodb;
alter table table_name engine = MyISAM;
四、引擎说明及区别
ISAM:读取数据速度很快,而且不占用大量的内存和存储资源;但是ISAM不支持事务处理、不支持外来键、不能够容错、也不支持索引。
如果硬盘崩溃,数据文件也无法恢复,因此若把ISAM用在关键任务上,就必须经常备份实时数据。
MyISAM适合:MyISAM强调了快速读取操作。(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。
静态MyISAM:如果数据库中的各个数据列的长度都是预先固定好的,服务器将自动选择这种表类型。(1)表中每一条记录所占用的空间都是一样的,所以存取和更新的效率非常高。(2)当数据受损时,回复工作也比较容易做。
动态MyISAM:如果数据表中出现varchar、xxxtex或xxxBLOB字段时,服务器将自动选择这种表类型。相对于静态MyISAM,这种表存储空间比较小。
压缩MyISAM:这种类型的表进一步减小了占用的存储,但是这种表压缩之后不能再被修改。
memory(heap)适合:HEAP允许只驻留在内存里的临时表格。因为数据仅存储在内存中,因此数据存取速度比ISAM和MYISAM都快。(记住,用完表格之后就删除表格)
InnoDB适合:具有提交、回滚和崩溃恢复能力的失误安全存储引擎。(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。
InnoDB是为处理巨大数据量时的最大性能设计。它的CPU效率可能是任何其他基于磁盘的关系数据库引擎所不能匹敌的。
archive适合:日志记录和聚合分析方面。archive不支持索引,仅支持insert和select语句。
存储引擎
优势
劣势
适用
ISAM
快速读取,不占用大量的内存和存储资源
不支持事务、外来键、索引
MYIAM
快速读取
不支持事务
做很多count的计算;
插入不频繁,查询频繁;
不需要事务
HEAP
有极高的插入、更新和查询效率,默认使用哈希索引
只主流在内存里的临时表格,
保存的数据具有不稳定性
用于临时表
INNODB
有提交、回滚和崩溃恢复能力的失误安全存储引擎
读取速度比ISAM慢
表更新和查询都相当频繁,且表锁定的计划比较大的情况
ARCHIVE
有高效的插入速度
不支持索引,仅支持insert和select语句
存储大量独立的、作为历史记录的数据,如日志记录和聚合分析
- mysql engine存储引擎
- mysql之存储引擎 engine
- MySQL存储引擎(storage engine)
- MySQL存储引擎engine=innodb和engine=myisam的区别
- 修改mysql的engine引擎
- PowerDesigner 修改 MySQL数据库的 Table或DataBase的 ENGINE(存储引擎)类型
- 【MySQL】MySQL存储引擎
- 【MySQL】MySQL存储引擎
- mysql federated存储引擎引擎
- mysql下修改engine引擎的方法
- MySQL基础—InnoDB引擎(engine)
- MySQL的存储引擎
- 1.5. MySQL存储引擎
- mysql存储引擎
- MySQL 存储引擎
- MySQL存储引擎
- Mysql的存储引擎
- MySQL存储引擎
- C++引用与指针的区别
- Android--进程间通信的几种实现方式
- 运算符
- replaceWith()和replaceAll() 和html()
- 在线mp3音量调整
- mysql engine存储引擎
- 线程类Thread的API接口分析系列之interrupt()
- 用链表实现vector
- Shell脚本学习-命令行参数处理
- Java:java中基础数据类型与转换.
- 最大数问题
- 论文阅读:Knowledge Based Segmentation for Fast 3D Dental Reconstruction from CBCT
- 动态库编译:.so: undefined symbol
- NIO与标准IO不同