MySQL常用存储引擎之MyISAM
2023-06-13 09:11:06 时间
MySQL5.5
版本之前的默认存储引擎就是MyISAM
- 系统表
- 临时表(查询优化器建立的临时表)
MyISAM存储引擎表由MYD
和MYI
组成
MyISAM的特性
- 并发性与锁级别
对于读写混合的并发性不会太好
- 表损坏修复
通过 check table tablename 进行检查 通过 repair table tablename 进行恢复
演示实例
use test # 进入你自己的数据库
create table myIsam(id int,c1 varchar(10))engine=myisam; # 需要通过engine指定引擎
cd /var/lib/mysql/test # test是你的库名字 库的位置一般都在你的安装路径下 yum的默认在/var/lib/mysql
myIsam_352.sdi myIsam.MYD myIsam.MYI
存储数据信息 存储索引信息
回到mysql的test1库中执行
check table myisam
+--------------+-------+----------+------------------------------------+
| Table | Op | Msg_type | Msg_text |
+--------------+-------+----------+------------------------------------+
| test1.myisam | check | status | OK |
| test1.myisam | check | status | OK |
+--------------+-------+----------+------------------------------------+
接着执行repair table myisam # MyISAM表损坏的时候才有用
- MyISAM表支持的索引类型
- MyISAM表支持数据压缩
压缩可以使用
演示实例
[root@localhost test]# myisampack -b -f myIsam
Compressing myIsam.MYD: (0 records)
- Calculating statistics
- Compressing file
Empty file saved in compressed format
# (0 records) 空文件
# 查看文件大小,-f是强制压缩
# myIsam.OLD 压缩之前文件的备份
# 实际上压缩后(MYI)的文件比压缩前(OLD)的文件还要大,因为原来的数据太小了 知识为了演示
对于表中的读写
# 当前myIsam表已经进行压缩了,进行插入操作,结论【对于已经压缩的表是不能进行写操作的,只能读】
mysql> insert into myIsam values(1,'haha');
ERROR 1036 (HY000): Table 'myIsam' is read only
限制
版本<5.0的默认表大小为4Gb
如存储大表则需要修改MAX_Rows
和AVG_Row_LENGTH
- 修改会导致表重建
版本>5.0的默认表大小为256TB
适用场景
- 非事务型应用
- 只读类应用
- 空间类应用(例如GPS 利用空间函数)
相关文章
- mysql executereader_ExecuteReader()对象不能被转换
- 云上的MySQL:新的存储生态(云mysql)
- MFC编程实现MySQL数据库操作(mfc对mysql的操作)
- Redis 迎来MySQL 的挑战(redis代替mysql)
- MySQL实现双主高可用(mysql双master)
- 深度解读MySQL密码存储机制(mysql密码存储)
- MySQL管理:如何创建用户名(mysql创建用户名)
- 深入MySQL:二进制数据存储分析(mysql二进制数据)
- 深入学习MySQL高级语法,提升数据库操作技能(mysql高级语法)
- MySQL行合并:提升数据库查询效率(mysql行合并)
- MySQL:历史上技术强国排名第几?(mysql排名第几)
- MySQL中实现自定义函数的方法(mysql自定义函数)
- 定义MySQL存储过程让编程更简单(mysql存储过程定义者)
- MySQL表存放在哪儿?——谨解析MySQL表的存储位置(mysql表存在哪里)
- 探究 MySQL 数据库中订单的存储与处理方式(mysql订单)
- MySQL中Drop语句的用法详解(mysql中drop用法)
- MySQL存储路径的C语言技巧(c mysql存储路径)
- BS加MySQL实现数据存储与可视化分析的技术结合(bs加mysql)
- MySQL查询实现BLOB数据存储及管理(blob mysql查询)
- 库ASP实现MySQL数据库数据更新(asp更新mysql数据)
- 掌握arm构架安装MySQL的技巧(arm构架安装mysql)
- 三天学会Mysql速成秘诀(3天学会mysql)
- MySQL Zone数据存储与管理的最佳选择(mysql zone)
- MySQL存储过程存在风险,不建议使用(mysql不建议存储过程)