MySQL之存储引擎(2)

发布时间:2021-06-08

使用多表空间存储,需设置参数innodb_file_per_table,并重启服务才可生效,只对新建表有效 MEMORY

该存储引擎使用存在于内存中的内容来创建表,每个表实际对应一个磁盘文件,格式为.frm;这类表因为数据在内存中,且默认使用HASH索引,所以访问速度非常快;但一旦服务关闭,表中的数据会丢失。

每个MEMORY表可以放置数据量的大小受max_heap_table_size系统变量的约束,初始值为16MB,可按需求增大;此外,在定义MEMORY表时可通过MAX_ROWS子句定义表的最大行数。

该存储引擎主要用于那些内容稳定的表,或者作为统计操作的中间表;对该类表需谨慎,因为数据并没有实际写入磁盘,一旦重启,则会丢失。

MERGE

该引擎是一组MyISAM表的组合,这些表必须结构相同,MERGE表本身没有数据;对MERGE表查询、更新、删除操作实际上是对内部实际MyISAM表进行的;对于MERGE表的插入,是通过INSERT_METHOD子句定义插入的表,可以有3个不同的值,使用FIRST/LAST值使得插入操作被相应地作用在第一个或最后一个表上,不定义这个子句或定义为NO表示不能对这个MERGE表执行插入操作。

DROP操作只是删除MERGE地定义,对内部表没有任何影响。

MERGE表在磁盘上保存为两个文件,文件名以表名开始,.frm文件存储表定义,.MRG文件包含组合表地信息,如:由那些表组成、插入新记录时的依据。

MERGE表不能智能的将记录插入对应的表中,而分区表可以,这是两者的区别。

MySQL: MyISAM和InnoDB的区别

InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用 而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB 类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。 移值性:

MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。

MyIASM是IASM表的新版本,有如下扩展:

二进制层次的可移植性。

NULL列索引。

对变长行比ISAM表有更少的碎片。

支持大文件。

更好的索引压缩。

更好的键吗统计分布。

更好和更快的auto_increment处理。

支持全文搜索,不过它们是事务不安全的,而且也不支持外键。如果事务回滚将会造成不完全回滚,从而不具备原子性。

读锁和写锁是互斥的,从而读写操作是串行的,MyISAM表不太适合于有大量更新操作和查询操作应用的原

MySQL之存储引擎(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219