唐山的网站建设公司,2023年楼市将迎来抛售潮,网页素材图,一个网站如何产生流量1. mysql 5.5之前版本默认存储引擎1.1 因为这个原因现在还有大量服务器在使用这myisam引擎的表1.2 myisam是mysql大部分系统表和临时表使用的存储引擎2. myisam存储引擎表由myd和myi组成2.1 myd存储数据信息2.2 myi存储索引信息2.3 frm记录表结构的#xff0c;所有存储引擎都有…1. mysql 5.5之前版本默认存储引擎1.1 因为这个原因现在还有大量服务器在使用这myisam引擎的表1.2 myisam是mysql大部分系统表和临时表使用的存储引擎2. myisam存储引擎表由myd和myi组成2.1 myd存储数据信息2.2 myi存储索引信息2.3 frm记录表结构的所有存储引擎都有的3. 特性3.1 并发性与锁级别myisam使用的是表级锁 而不是行级锁。这也就意味着对表数据进行修改时需要对整个表进行加锁。而在对表中的数据进行读取时也需要对所有表加共享锁。所以使用myisam存储引擎的表读取和写入这两种操作是互斥的。当然在一些情况下当我们对表中的数据进行读取时也可以在表的末尾插入数据。因此myisam对读写混合的并发性不是很好。如果知识制度的操作的话就并发性而言性能还是可以接受的。因为共享锁并不会阻塞共享锁。3.2 表损坏修护支持对意外关闭的表进行检查和修护操作这里提到的修护并不是事务恢复。因为myisam并不是一种事物存储引擎所以它不可能提供事务恢复所需要的相关日志。所以注意了对myisam表做数据恢复可能会造成数据的丢失。对有问题的表可以使用check table tablename 进行检查repair table tablename 进行修护除了上诉命令mysql还提供了修护工具叫做myisamchk( 如果使用则需要停止mysql服务)如果不停止使用这个工具可能造成更大的损坏。3.3 myisam表支持的索引类型myisam表支持全文索引是 mysql5.7之前唯一支持全文索引的官方存储引擎。支持text或block等字段前500个字符的前缀索引若果myisam是一张很大的只读表的话在表创建完导入数据后就不会在对表进行任何修改操作那么我们可以对这样的表进行压缩操作这样可以减少磁盘io。3.4 myisam表支持数据压缩对于表中数据压缩是独立进行压缩的所以在读取单行数据的时候不必对整个表来进行解压myisampack 压缩表4. 限制4.1 版本 mysql5.0时默认表大小为4g若果存储大表则要修改 max_rows 和 avg_row_length , 这两个数相乘的大小就是表达到的大小。对于大表来说修改这两个参数会导致表重建可能需要一些时间。4.2 版本 mysql5.0时默认支持为256tb5. 适用场景5.1 非事务型应用myisam本身时一种非事务型存储引擎也就是说myisam是不支持事务的。5.2 只读类应用因为可以对表进行压缩压缩后只读。5.3 空间类应用在mysql5.7之前myisam是唯一支持空间函数的存储引擎。如果需要存储空间类数据使用空间函数只能使用myisam存储引擎。