日期:2014-05-16 浏览次数:20810 次
?
?
?
?
?
?
?
?
MySQL数据库其中一个特性是它的存储引擎是插件式的。用户可以根据应用需要选择存储引擎。Mysql默认支持多种存储引擎,以适用各种不同的应用需要。
默认情况下,创建表不指定表的存储引擎,则新表是默认存储引擎的。可以通过show engines来查看MySQL支持的存储引擎和默认的存储引擎。
?如果想改变默认的存储引擎,可以修改my.ini文件中的default-storage-engine。在创建新表的时候,可以通过增加ENGINE关键字设置新表的存储引擎。
如:
???????? Create table ai{
?????????????????? id bigint(20) not null auto_increment,
?????????????????? primary key(id)
} ENGINE=MyISAM default charset=utf-8;
Create table bi{
?????????????????? id bigint(20) not null auto_increment,
?????????????????? primary key(id)
} ENGINE=InnoDB default charset=utf-8;
?
?
?
MyISAM不支持事务,不支持外键,其优势是访问速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用基本上都可以使用这个引擎来创建表。
每个MyISAM在磁盘上存储成3个文件,其文件名都和表名相同,扩展名分别是:
???????? .frm(存储表定义);
???????? MYD(MYData, 存储数据);
???????? MYI(MYIndex, 存储索引)。
数据文件和索引文件可以放置在不同的目录,平均分布IO,获取更快的速度。
要指定索引文件和数据文件的路径,需要在创建表的时候通过DATA DIRECTORY和INDEX DIRECTORY语句指定,文件路径需要绝对路径,并且具有访问权限。
?
3.I