MySQL性能管理及架构设计之MyISAM

本文介绍了MySQL中MyISAM存储引擎的特点与应用场景。MyISAM作为5.5版本之前的默认引擎,以其高速存储和检索著称,尤其适用于非事务型及只读类应用。文章还详细讲解了其组成结构、并发控制机制、损坏修复方式及限制条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

哪有什么天生如此,只是我们天天坚持。 -------The best Zhiyuan

通过学习总结一下MySql中常用的存储引擎之MyISAM:

MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。
优点:优势在于占用空间小,处理速度快。缺点是
缺点:不支持事务处理(transaction)的完整性和并发性

组成

  • .MYD
    数据文件的扩展名为 (MYData)
  • .MYI (MYIndex)
    索引文件的扩展名。
  • .frm
    存储表定义(记录表结构的并不是myisam特有的)

特性

  • 并发性和锁级别
    只支持表级锁,用户在操作myisam表时,select,update,delete,insert语句都会给表自动加锁,如果加锁以后的表满足insert并发的情况下,可以在表的尾部插入新的数据。
  • 损坏修复

    1. 查看表是否损坏CHECK TABLE t1;
    2. 修复表repair table t1;
      如果单纯执行REPAIR TABLE没有起到什么效果,那么可以选择另外两个选项:

      • REPAIR TABLE EXTENDED,速度比REPAIR TABLE慢得多,但是可以修复99%的错误;
      • REPAIR TABLE USE_FRM,它会删除索引并利用table_name.frm文件中的描述重建索引,并通过table_name.MYD文件填充健对应的值。
  • 支持的索引类型
    支持全文索引(FULLTEXT)
    前缀索引
  • 支持数据压缩
    Myisam引擎支持对表的压缩,压缩后的空间上比压缩前会减少60%-70%,但是压缩后的表是只读的
    命令 myisampack + -f强制压缩

限制

版本 < MySql5.0 时默认表大小为4个G

如果存储大表 需要修改 `MAX_Rows` 和 `AVG_ROW_LENGTH`

版本 > MySql5.0 时默认支持为256TB (嗷嗷够用啊)

适用场景

  • 非事务型应用
    它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择。
  • 只读类应用
    插入不频繁,查询非常频繁
  • 空间类应用
    如GPRS和做很多count 的计算

Shi Zhiyuan is always the best clipboard.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值