数据表的类型及存储位置

admin  2016-07-10 20:25   Hits: 

MYSQL支持MYISAM INDODB BOB HEAP ARCHIVE CSV等多种数据表类型,有创建一个新MYSQL数据表时候,可以给他设置一个类型,其中最重要的有MYISAM INNODB两种表类型,他们各有自己的特性。如果在创建一个数据表的时候没有设置表类型,MYSQL服务器将会根据它的具体配置情况在MYISAM INNODB两个类型中选择,默认的数据类型,由MYISAM配置文件里的default-table-type指定,如果用CREATE TABLE命令建立表,可以通过ENGINE或TYPE指定表类型
 
1、MYISAM数据表
MYISAM数据表类型的特点是成熟,稳定和易于管理,它使用一种表格锁定的机制,来优化多个并发的读写操作,其代价是你需要经常运用OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间,MYISAM数据表还有一些有用的扩展,例如用来修复数据库文件的MYISAMCHk工具和用来恢复浪费空间的MYISAMPack工具,MYISAM数据表强调了快速读取操作,这可能就是为什么MYISAM数据表受到WEB开发的青睐,在WEB开发中你所进行的大量数据库操作都是读取操作。
 
2、Innodb数据表
可以把Innodb看做是MYISAM的升级,Innodb给MYSQL提供具有提交,回滚和崩溃恢复能力的事物安全存储引擎,Innodb也支持外键,在SQL查询中,你可以自由的讲Innodb类型与其他类型混合使用,甚至在同一个查询中也可以混合,但是Innodb占用空间很大,插入效率低。
 
3、如何选择Innodb和MYISAM
 
MYISAM数据表和Innodb可以同时存在于数据库中,也就是可以把数据库里的不同数据表设置为不同类型,这样,用户就可以根据每一个数据表的内容数据和具体用途为它们分别选择最佳的数据表类型。如果希望节约存储空间,MYISAM是首选,需要支持事物,外键和更高的安全性,INNODB值得考虑,当建立新表时候
 
4、数据表的存储位置
 
数据库目录是MYSQL数据库服务器存放数据文件的地方,不仅包括有关表的文件,还包括数据文件和MYSQL的服务器选项文件,不同的安装包,数据库目录的默认位置不同,MYSQL将数据以记录形式存在表中,而表则以文件形式存放于磁盘目录中,MYSQL有不同的表格式,但是有一个共同点,就是每种表至少有一个存放表结构定义的.frm文件,一个MYISAM表有三个文件,分别是 .frm表结构文件 .myd表数据文件 .myi表索引文件,而INNODB由于采用表空间的概念来管理数据表,它只在一个与数据库表对应的以.frm为后缀的文件,同一个目录下的其他文件表示为空间,存储数据表的数据和索引,创建修改删除表,其实就是对数据库目录下的文件进行操作。
 
可以直接对数据文件进行操作,以实现某些数据的管理,例如数据表具有可以移植性,可以直接把数据表文件复制到磁盘上,再把磁盘文件直接复制到另一MYSQL服务器的主机某个数据库目录里,而那台主机上的MYSQL服务器就能直接使用该数据表。
 
上一篇:mysql创建、修改及删除表
下一篇:MYSQL数据表的默认字符集