一、存储引擎

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

二、查看所用存储引擎、是否支持

mysql> show engines;

mysql engine存储引擎

三、使用存储引擎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语句

存储大量独立的、作为历史记录的数据,如日志记录和聚合分析


相关文章:

  • 2021-12-22
  • 2021-10-24
  • 2021-09-29
  • 2021-10-07
  • 2019-08-30
猜你喜欢
  • 2021-07-01
  • 2022-02-09
  • 2022-12-23
  • 2021-07-05
  • 2021-12-19
  • 2021-06-06
  • 2021-12-26
相关资源
相似解决方案