💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## myisam引擎 小于等于5.5mysql默认的存储引擎。 (ISAM——索引顺序访问方法)是Indexed Sequential Access Method(索引顺序存取方法)的缩写 .它是一种索引机制,用于高效访问文件中的数据行,擅长与处理高速读与写。 ### 存储方式 1. 数据,索引,结构分别存储于不同的文件中。 2. mysiam存储引擎数据表,每个数据表都有三个文件*.frm *.MYD *.MYI 3. **这三个文件支持物理复制、粘贴操作(直接备份还原)。** ![](https://box.kancloud.cn/2cf54701a1fee28ae82b73ca2ae97444_798x239.png) ### 数据的存储顺序为插入顺序 ~~~ insert into test values(100,'1'),(50,'2'),(1,'3'),(1000,'4'); ~~~ ~~~ +------+------+ | id | name | +------+------+ | 100 | 1 | | 50 | 2 | | 1 | 3 | | 1000 | 4 | +------+------+ ~~~ 数据查询的顺序,与写入的顺序一致。 数据写入时候,没有按照主键id值给予排序存储,该特点导致数据**写入的速度非常快**。 ### 并发性 mysiam的并发性较比innodb要稍逊色,因为数据表是“表锁” ### 压缩性 如果一个myisam数据表存储的数据非常多,就会占据很大的硬盘空间,为了节省空间,可以把这个myisam数据表给进行压缩处理。 语法: 在bin文件夹下另外运行终端 ~~~ myisampack 完整路径/表名 ~~~ 压缩完成后需要flush刷新下,使得硬盘数据与内存数据同步: ~~~ flush table 表名; ~~~ 重建索引:压缩后的数据表需要根据最新的数据位置把索引重新建立一次。根据压缩后的数据把索引重建建立起来。 重建索引工具 : 在bin文件夹下另外运行终端 ~~~ myisamchk -rq 完整路径/表名 ~~~ 只读特性 : 压缩的数据表不能再写入数据了,必须解压后才可以。压缩的数据表,禁止写操作. 具体解压: 在bin文件夹下另外运行终端 ~~~ myisamchk --unpack 完整路径/表名 ~~~ 完成解压后再刷新,清楚缓冲文件 ~~~ flush table 表名; ~~~ 解压后文件恢复原大小. **注意**:什么类型的信息适合压缩: 数据不频繁发生变化,例如全国的邮编信息、地区信息。 ### myisam和innodb的取舍 1. myisam: 写入数据非常快,适合使用场合dedecms/phpcms/discuz/微博系统等写入、读取操作多的系统。 2. innodb: 适合业务逻辑比较强的系统,修改 操作较多的,例如ecshop、crm、办公系统、商城系统 3. 一般用innodb就行了.