兔八哥极品软件园    运行: 4470天 | 文章:640 篇 | 评论:505 条 | 碎语:1条

Mysql MYSIAM和INNODB引擎区别

作者:admin 发布于:2012-11-7 12:17 Wednesday 分类:MYSQL


MySQL
MYSIAM和INNODB引擎区别主要有以下几点:

  • 1.MyISAM查询性能比InnoDB更快,但不支持事务处理,InnoDB支持事务处理和外键等高级功能
  • 2.InnoDB不支持全文检索
  • 3.InnoDB中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。
  • 4.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除
  • 5.Innodb的auto_increment字段,必须建立单独的索引,而不允许是联合索引
  • 6.每张MyISAM 表被存放在三个文件 :frm 文件存放表格定义。 数据文件是MYD (MYData) 。 索引文件是MYI (MYIndex) 引伸。
因为MyISAM相对简单所以在效率上要优于InnoDB,小型应用使用MyISAM是不错的选择。
MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦
InnoDB 把数据和索引存放在表空间里,可能包含多个文件,这与其它的不一样,举例来说,在 MyISAM 中,表被存放在单独的文件中。InnoDB 表的大小只受限于操作系统的文件大小,一般为 2 GB。InnoDB所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap