博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL存储引擎
阅读量:7053 次
发布时间:2019-06-28

本文共 892 字,大约阅读时间需要 2 分钟。

hot3.png

MySQL5.0支持的存储引擎包含MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。

 

MySQL5.5之前默认存储引擎是MyISAM,之后是InnoDB

MyISAM不支持事务不支持外键,优势是访问速度快,多用于读多余写的情况。

每个MyISAM在磁盘上存储成3个文件,其文件名都和表名相同,扩展名分别是:

  • .frm(存储表定义)
  • .MYD(MYData,存储数据)
  • .MYI(MYIndex,存储索引)

数据文件和索引文件可以放置在不同的目录,平均分布IO。获得更快的速度。

MyISAM类型的表可能会损坏,可以用CHECK TABLE语句来检查表的健康,并用REPAIR TABLE语句修复损坏的表。

MyISAM的表支持3中不用的存储格式:

  • 静态(固定长度)表
  • 动态表
  • 压缩表

静态表是默认存储格式,每条记录长度固定,不能扩容,如果数据长度不够,将用空格补足;

优点:存储非常迅速,容易缓存,出现故障容易恢复;

缺点:占用的空间通常比动态表多,同时获取数据时会自动去除后面的空格,如果数据保存时本来是希望有空格,那这里拿出来的数据将于期望的不同。

动态表,包含变长字段,记录不是固定长度的,优点:占用的空间相对较少,但是频繁的更新和删除记录会产生碎片,需要定期执行OPTIMIZE TABLE语句或myisamchk -r命令来改善性能,并且出现故障时恢复相对比较困难。

压缩表由myisampack工具创建,占据非常小的磁盘空间,因为每个记录都是被单独压缩的,所以只有非常小的访问开支。

查看当前数据库支持的存储引擎:

show engines;

查看表使用的存储引擎:

show table status from <db_name> where name='<table_name>';

转载于:https://my.oschina.net/u/1413049/blog/1510198

你可能感兴趣的文章
超级芯片电路板问世 比现有电脑快9000倍
查看>>
SQL Server中的锁
查看>>
从零开始实现一个简易的Java MVC框架
查看>>
Windows下Apache服务器中自动配置二级子域名
查看>>
Linux开始结束ping命令
查看>>
ASP.NET MVC应用程序的安全性介绍总括(高级编程)
查看>>
HDU-1045 Fire NetFire Net 最大团
查看>>
LVS-DR演示
查看>>
硬件要求
查看>>
基本数据类型
查看>>
我的友情链接
查看>>
设置cpu亲和性---即 绑定特定的进程线程到指定的cpu
查看>>
Java 的强引用、弱引用、软引用、虚引用
查看>>
zabbix性能简单调优
查看>>
CSS 详细解读定位属性 position 以及参数
查看>>
ed 命令 cat 命令
查看>>
想想你,幸福和快乐就来了
查看>>
html base标签 target=_parent使用介绍
查看>>
nginx实现反向代理,以反向代理tomcat为例
查看>>
团队项目冲刺5
查看>>