mysql数据存储引擎类型及其sql语句

你能用的数据库引擎取决于mysql在安装的时候是如何被编译的。要添加一个新的引擎,就必须从新编译MYSQL。在缺省状况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也经常可使用。 mysql

    ISAM

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

 

    MYISAM

  MYISAM是MYSQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MYISAM还使用一种表格锁定的机制,来优化多个并发的读写操做。其代价是你须要常常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MYISAM还有一些有用的扩展,例如用来修复数据库文件的MYISAMCHK工具和用来恢复浪费空间的MYISAMPACK工具。 数据库

      MYISAM强调了快速读取操做,这可能就是为何MYSQL受到了WEB开发如此青睐的主要缘由:在WEB开发中你所进行的大量数据操做都是读取操做。因此,大多数虚拟主机提供商和INTERNET平台提供商只容许使用MYISAM格式。 服务器

 

     HEAP

  HEAP容许只驻留在内存里的临时表格。驻留在内存使得HEAP比ISAM和MYISAM的速度都快,可是它所管理的数据是不稳定的,并且若是在关机以前没有进行保存,那么全部的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间,HEAP表格在你须要使用SELECT表达式来选择和操控数据的时候很是有用。要记住,用完表格后要删除表格。 并发

 

    INNODB和BERKLEYDB

  INNODB和BERKLEYDB(BDB)数据库引擎都是造就MYSQL灵活性的技术的直接产品,这项技术就是MySql++ API。在使用MySql的时候,你所面对的每个挑战几乎都源于ISAM和MYIASM数据库引擎不支持事务处理也不支持外来键(了解外来键:http://my.oschina.net/jiangchike/blog/165419)(事务处理简介:http://my.oschina.net/jiangchike/blog/165186)。尽管要比ISAM和MYISAM引擎慢不少,可是INNODB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,若是你的设计须要这些特性中的一者或者二者,那你就要被迫使用后两个引擎中的一个了。 工具

 SQL语句: 优化

   

create table tablename{

title int(10) not null.......

......

}TYPE=MYISAM

                     

也可直接到MySQL目录里的my.ini文件中把default-storage-engine这一行改成你所须要的引擎,再重启数据库服务器便可。
相关文章
相关标签/搜索