重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

mysql有哪些常见的存储引擎

时间:2020-09-23 06:40:07 作者:重庆seo小潘 来源:
mysql中常见的存储引擎有: (推荐教程:mysql教程) 1、InnoDB 引擎(MySQL5.5以后默认使用) MySQL 5.5 及以后版本中的默认存储引擎,它的优点如下: 灾难恢复性好 支持事务 使用行级锁 支持外键关联 支持热备份 对于InnoDB引擎中的表,其数据的物理组织形式

mysql有哪些常见的存储引擎

mysql中常见的存储引擎有:

(推荐教程:mysql教程)

1、InnoDB 引擎(MySQL5.5以后默认使用)

MySQL 5.5 及以后版本中的默认存储引擎,它的优点如下:

灾难恢复性好

支持事务

使用行级锁

支持外键关联

支持热备份

对于InnoDB引擎中的表,其数据的物理组织形式是簇表(Cluster Table),主键索引和数据是在一起的,数据按主键的顺序物理分布实现了缓冲管理,不仅能缓冲索引也能缓冲数据,并且会自动创建散列索引以加快数据的获取

2、MyISAM引擎

特性如下:

不支持事务

使用表级锁,并发性差

主机宕机后,MyISAM表易损坏,灾难恢复性不佳

可以配合锁,实现操作系统下的复制备份、迁移

只缓存索引,数据的缓存是利用操作系统缓冲区来实现的。可能引发过多的系统调用且效率不佳

数据紧凑存储,因此可获得更小的索引和更快的全表扫描性能

3、MEMORY 存储引擎

特点:

提供内存表,不支持事务和外键

使用表级锁,虽然内存访问快,但如果频繁的读写,表级锁会成为瓶颈

只支持固定大小的行。Varchar类型的字段会存储为固定长度的Char类型,浪费空间

不支持TEXT、BLOB字段。当有些查询需要使用到临时表(使用的也是MEMORY存储引擎)时,如果表中有TEXT、BLOB字段,那么会转换为基于磁盘的MyISAM表,严重降低性能

由于内存资源成本昂贵,一般不建议设置过大的内存表,如果内存表满了,可通过清除数据或调整内存表参数来避免报错

服务器重启后数据会丢失,复制维护时需要小心

以上就是mysql有哪些常见的存储引擎的详细内容,更多请关注小潘博客其它相关文章!