关于 MySQL 使用MyISAM引擎,怎么定义 MySQL 的

作者: 怀老师 | 来源:发表于2020-04-11 14:39 被阅读0次

  网上搜索后,发现都是关于静态表和动态表的优势比较。那么需要提前声明这个表是动态表还是静态表吗?还是说,不用关键字声明,当表中没有变长字段( varchar...)时这个表就是静态表,有变长字段时就是动态表?

  MyISAM 的表又支持 3 种不同的存储格式,分别是:静态(固定长度)表;动态表;压缩表;

  1.静态表是默认存储格式,字段都是非变长字段,但是占用空间通常比动态表多,静态表的数据在存储时会按照列的宽度定义补足空格。但是返回时却不会得到。需要注意,本来就有空格时怎么处理。

  2.动态表包含变长字段,占用空间相对较少,但是频繁的更新删除记录会产生碎片,需要定期执行 optimize table 语句来改善性能,并且出现故障时恢复相对困难。

  3.压缩表时有 myisampack 工具创建,占据非常小的磁盘空间。

  关于优势和特点,好像都能查到相关数据,但是我很想知道,是否需要像 engine=myisam 这样进行声明来确定表属于哪一种表。

  最后查阅了下官方文档,找到了这个: https://dev.mysql.com/doc/refman/5.7/en/myisam-table-formats.html

  得出结论,是根据列的类型,自动选择的,不用特殊声明。

相关文章

  • 关于 MySQL 使用MyISAM引擎,怎么定义 MySQL 的

    网上搜索后,发现都是关于静态表和动态表的优势比较。那么需要提前声明这个表是动态表还是静态表吗?还是说,不用关键字...

  • mysql修改默认引擎为INNODB

    0.为何修改 MySQL5.5之前mysql 默认使用 MyISAM引擎 MyISAM引擎与INNODB的区别In...

  • 索引

    MyISAM存储引擎MyISAM是 MySQL 5.5 版本之前的默认存储引擎,MySQL中很多系统表也还是使用该...

  • 2018-03-19

    mysql MyISAM引擎和InnoDB的介绍 1、MyISAM MyISAM是MySQL的默认存储引擎,基于...

  • MySQL-存储引擎

    1. 存储引擎种类 1.1 介绍(Oracle MySQL) MySQL 5.5 之前,使用MyISAM引擎作为模...

  • mysql数据库详解

    mysql数据库5.7之前默认使用MyISAM引擎,在5.7上使用的是InnoDB引擎。 MyISAM引擎特性 支...

  • MySQL引擎选择

    目前广泛使用的是MyISAM和InnoDB两种引擎: MyISAM MyISAM引擎是MySQL 5.1及之前版本...

  • 系统原理-乐观锁与悲观锁

    InnoDB与MyISAM Mysql 在5.5之前默认使用 MyISAM 存储引擎,之后使用 InnoDB 。查...

  • mysql索引

    mysql 不同引擎索引组织方式不同 MyISAM存储引擎,MyISAM引擎使用B+Tree作为索引结构,叶节点的...

  • MYSQL数据库面试题汇总

    1.mysql的各个引擎 a.Innodb引擎,mysql的默认存储引擎(Mysql5.5.5之前是MyISAM)...

网友评论

    本文标题:关于 MySQL 使用MyISAM引擎,怎么定义 MySQL 的

    本文链接:https://www.haomeiwen.com/subject/iovymhtx.html