今天在学习MySQL的时候,发现新建一个数据库表的时候,表只对应一个.frm文件,却没有.MYD 和.MYI文件。

经过一番查找之后才发现,我本地的MySQL存储表的时候,使用的默认数据库存储引擎是InnoDB,而使用InnoDB存储引擎的时候,是不生成.MYD 和.MYI文件的。

所以要生成.MYD 和.MYI文件,只需在建表的时候,显式地指定数据库存储引擎,下面是一个建表语句示例:

create table testDb1 (columnName varchar(50)) engine=MyISAM ;

查看已有表的存储类型,可以通过输入 如下命令进行查看:

show create table tableName /*其中tableName对应的是表名*/

下面是关于mysql数据库表类型的说明:

MyISAM:

ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MySQL能够支持这样的备份应用程序。

MyISAM强调了快速读取操作,这可能就是为什么MySQL受到了Web开发如此青睐的主要原因:在Web开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和Internet平台提供商(Internet Presence Provider,IPP)只允许使用MyISAM格式。

InnoDB和Berkley DB

InnoDB和Berkley DB(BDB)数据库引擎都是造就MySQL灵活性的技术的直接产品,这项技术就是MySQL++ API。在使用MySQL的时候,你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理也不支持外来键。尽管要比ISAM和MyISAM引擎慢很多,但是InnoDB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要被迫使用后两个引擎中的一个了。

在非InnoDB表中,MySQL将会忽略foreign key ...references修饰词,所以说只有在InnoDB表中,才能成功新建外键(foreign key)

分享到:

2011-12-19 16:41

浏览 824

评论

mysql frm 没有myd_MySQL表只对应一个.frm文件,没有.MYD 和.MYI文件相关推荐

  1. mysql frm 没有myd_为什么MySQL表只对应一个.frm文件,没有.MYD和.MYI文件_MySQL

    bitsCN.com 为什么MySQL表只对应一个.frm文件,没有.MYD和.MYI文件 今天在学习MySQL的时候,发现新建一个数据库表的时候,表只对应一个.frm文件,却没有.MYD 和.MYI ...

  2. hibernate char 字段的数据表只查出一个字符

    转:http://moonights.iteye.com/blog/683723 遇到的问题,此处记录一下 问题描述: orcal和sqlserver(其他数据库未曾验证,估计也是)下经常会遇到数据表 ...

  3. 将.frm、.myd和.myi文件导入mysql数据库中

    1.先建立一个想要的数据库 2.找到存放数据库文件夹 安装目录下搜索找到 my.ini 文件,然后在文件中搜索 datadir , datadir="D:\Documents and Set ...

  4. mysql+字段+删除数据库表,MySQL命令行删除表中的一个字段

    先看看删除之前的表结构: mysql> select * from test; +------+--------+----------------------------------+----- ...

  5. mysql创建零件供应商表_● 建立一个供应商、零件数据库。其中“供应商”表 S(Sno,Sname,Zip,City)分别表示: 供应商代码、 供应 - 赏学吧...

    ● 建立一个供应商.零件数据库.其中"供应商"表 S(Sno,Sname,Zip,City)分别表示: 供应商代码. 供应商名. 供应商邮编. 供应商所在城市, 其函数依赖为: S ...

  6. mysql update field_mysql-更新表与另一个选择,但字段是SUM(someField)

    基本上我有这样的事情: UPDATE Table SET Table.col1 = other_table.col1, FROM Table INNER JOIN other_table ON Tab ...

  7. ubuntu14.04下通过.frm, .MYD,.MYI文件恢复建立mysql数据库

    .frm .MYD .MYI都是Mysql存储数据的文件, 代表MySQL数据库表的结构/数据和索引文件.其中,*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引. 恢复 ...

  8. 如何只下载一个github项目的某一特定文件夹或文件

    大部分人都会下载一个完整的github项目,无论是git clone命令,亦或是直接download zip文件,但是有的时候,我们不需要下载整个项目,因为下载整个项目可能耗时耗力,我们只需要下载其中 ...

  9. mysql分区和分表比较_MySQL分区和分表的区别与联系

    一.分区和分表简介 分表 就是将一张大表分成N个小表. 分区 将一张大表的数据分成N个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上. 二.分区和分表的区别 1. 实现方式 1.1 分表 My ...

最新文章

  1. linux系统盘满了,mysql启动不了
  2. python读取图片属性信息
  3. 全球化、文化和团队多样性
  4. P6088-[JSOI2015]字符串树【可持久化Trie,LCA】
  5. Win32API 数据基本类型
  6. APP签名MD5获取
  7. 同一个项目能上传至 多个GitHub账号或Gitee的仓库嘛?
  8. mysql显示表格前五行,深入浅出MySQL勘误表
  9. width:100%与绝对定位同时存在,偏移出父级容器
  10. JVM系列四:生产环境参数实例及分析【生产环境实例增加中】
  11. 用SandCastle为注释生成chm文档
  12. 数据结构视频教程 -《[北风网]C#版数据结构与算法高级教程》
  13. 一阶电路误差分析_PDE有限差分方法(12)——对流方程数值格式的分析方法
  14. 资源 | NJUPT-Yellow-Page 南邮黄页
  15. matlab如何调用swmm,一套基于SWMM开放的城市管网系统控制设计
  16. 人脸识别 数据集 与竞赛
  17. win7家庭版升级旗舰的密钥
  18. linux系统读移动硬盘,在linux系统上识别与挂载移动硬盘数据
  19. Android 购物选择颜色、尺码实现(二)
  20. 【Android】app应用内版本更新升级(DownloadManager下载,适配Android6.0以上所有版本)

热门文章

  1. ThinkPHP中,字段更新加1的几种写法
  2. 使用reflux进行react组件之间的通信
  3. 【 D3.js 入门系列 --- 7 】 理解 update, enter, exit 的使用
  4. private、public、protected、internal修饰符的访问权限
  5. 现实世界的Windows Azure:采访Applied Information Science的技术总监Vishwas Lele
  6. LINQ简记(3):子句
  7. 在 Linux 命令行中使用和执行 PHP 代码(一)
  8. c++重载、覆盖和隐藏
  9. ubuntu 10.04的git安装和使用
  10. /etc/mtab must be a symlink to /proc/mounts