数据表的类型及储存位置

MySQL支持MyISAM,InnoDB,GEAP , BOB , ARCHIVE , CSV等多种数据表类型,在创建一个新的MySQL数据表时,可以为它设置一个类型。其中最重要的有MyISAM和InnoDB两种表类型,它们有各自的特性。如果创建一个数据表时没有设置类型,MySQL服务器将会根据它的具体配置情况在MyISAM和InnoDB两个类型之间选择。默认的数据表类型,由MySQL配置文件里的default-table-type选项指定,当用CREATE TABLE命令创建一个新数据表时,可以通过ENGINE或TYPE选项决定数据表类型。

MyISAM数据表

MyISAM 数据表类型的特点是成熟,稳定和易于管理。它使用一种表格锁定机制,来优化多个并发的读/写操作。其代价是你经常需要运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM强调快速的读写操作,这就是为什么MyISAM受到Web开发人员如此青睐的主要原因。

InnoDB数据表

可以把InnoDB数据表看作是MyISAM的一种更新迭代产品。InnoDB给MySQL提供了具有提交,回滚,和崩溃恢复能力的事务安全储存引擎

如何选择InnoDB 还是 MyISAM表类型

MyISAM数据表和InnoDB数据表可以同时存在与同一个数据库,也就是可以把数据库里的不同数据表设置为不同类型。这样,用户就可以根据每一个数据表的内容和具体用途分别对它们作出最佳的数据表类型。
MyISAM数据表和InnoDB数据表简单的功能对比

表类型功能 MyISAM表 InnoDB
事务处理 不支持 支持
数据行锁定 不支持,只支持表锁定 支持
外键约束 不支持 支持
表空间大小 相对小 相对大,最大是2倍
全文索引 支持 不支持
COUNT问题 执行COUNT(*)速度慢

如果你希望以最节约时间和空间或者响应速度更快的方式来管理数据表,MyISAM数据表就应该是首选。如果应用程序需要用到事务、外键、或更高的安全性,以及需要允许很多用户同时修改某个数据表里的数据,则InnoDB更值得考虑。当你需要创建一个新表时,可以通过添加一个ENGINE或TYPE选项到CREATE TABLE 语句来告诉你MySQL你需要创建什么类型的表

CREATE TABLE t (i INT) ENGINE = INNODB;
CREATE TABLE t (i INT) TYPE = INNODB;

数据表的储存位置

  • 数据库目录是存储MySQL数据库服务器存放数据文件的地方,不仅包括有关的表的文件,还包括数据文件和MySQL的服务器选项文件。不同的安装包,数据库的目录默认位置是不同的,除了可以在MySQL配置文件中指定,也可以在启动服务器时通过--dayadir = /path/to/dir 明确指定。假设MySQL将数据库目录存放在服务器的C:/Appserv/mysql/data/目录下面,则MySQL管理的每个数据库都有自己的数据库目录,它们是C:/Appserv/mysql/data/目录下面的子目录,是与所表示的数据库目录相同的名称。例如,数据库bookstore在服务器中对应的目录是C:/Appserv/mysql/data/bookstore。
  • MySQL将数据以记录形式存在表中,而表则以文件的形式存放在磁盘中的目录中,这个目录就是一个数据库目录。而MySQL每种表在该目录中有不同的文件格式,但有一个共同点,就是每种表至少有一个存放表结构定义的.frm文件。一个MyISAM数据表则有三个文件,它们分别是:以.frm为后缀的结构定义文件,以.MYD为后缀的数据文件,和以.MYI为后缀的索引文件。而InnoDB由于表空间的概念管理数据表,它只用一个与数据库表对应的并以.frm为后缀名的文件,同一个目录下的其他文件表示为表空间,储存数据表的数据和索引。创建、修改和删除数据表,其实就是对数据库目录下的文件进行操作。
  • 可以直接对数据文件进行操作,以实现某些数据管理的功能,例如,数据表具有的可移植性,意思就是可直接把数据表文件复制到磁盘上,再把磁盘里的文件直接复制到另一台MySQL服务器主机的某个数据库目录里,而那台主机上的MySQL服务器就能直接使用该数据表了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容