mysql 中存储引擎是什么意思_mysql中常用的存储引擎是什么

在MySql中有MyISAM引擎、MyISAM合并引擎、InnoDB引擎、内存(堆)引擎和存档引擎

MySql中的存储引擎

MyISAM引擎

这个引擎最初是由mysql提供的,它可以分为三种类型:静态MyISAM、动态MyISAM和压缩MyISAM:

(1)静态MyISAM:如果数据表中每个数据列的长度预先固定,服务器将自动选择该表类型。因为数据表中的每条记录都占用相同的空间,所以访问和更新该表的效率非常高。当数据损坏时,恢复更容易。

(2)动态MyISAM:如果数据表中出现varchar、xxxtext或xxBLOB字段,服务器将自动选择此表类型。与静态MyISAM相比,该表的存储空间相对较小,但由于每条记录的长度不同,在多次修改数据后,数据表中的数据可能会离散地存储在内存中,导致执行效率下降。同时,记忆中可能有许多片段。因此,应该经常使用优化表命令或优化工具对这种类型的表进行碎片整理。

(3)压缩MyISAM:上述两种类型的表都可以通过myisamchk工具进行压缩。这种类型的表进一步减少了占用的存储空间,但在压缩后不能修改。此外,因为这是压缩数据,这种表应该先解压缩。

然而,无论哪种MyISAM表,目前都不支持事务、行级锁和外键约束等功能。

MyISAM合并引擎

此类型是MyISAM类型的变体。合并表就是将几个相同的MyISAM表合并成一个虚拟表。它常用于日志和数据仓库。

InnoDB引擎

InnoDB表类型可以看作是MyISAM的进一步更新产品,它提供了事务、行级锁机制和外键约束等功能。

内存(堆)引擎

这种类型的数据表只存在于内存中。它使用哈希索引,所以数据访问速度非常快。因为它存在于内存中,所以这种类型经常用在临时表中。

存档引擎

此类型仅支持选择和插入语句,不支持索引。它通常用于日志记录和聚合分析。以上是mysql常用存储引擎的详细信息,还有更多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值