当前位置:七道奇文章资讯网站建设网站美工
日期:2009-10-27 10:09:00  来源:本站整理

MySQL中InnoDB和MyISAM的差别[网站美工]

赞助商链接



  本文“MySQL中InnoDB和MyISAM的差别[网站美工]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

InnoDB和MyISAM是在利用MySQL最常用的两个表范例,各有优缺陷,视具体利用而定.下面是已知的二者之间的差别,仅供参考.

innodb
InnoDB 给 MySQL 供应了具有事件(commit)、回滚(rollback)和崩溃修复本领(crash recovery capabilities)的事件安全(transaction-safe (ACID compliant))型表.InnoDB 供应了行锁(locking on row level),供应与 Oracle 范例一致的不加锁读取(non-locking read in SELECTs).这些特点均提高了多用户并发操作的性能表现.在InnoDB表中不需求扩大锁定(lock escalation),因为 InnoDB 的列锁定(row level locks)适合非常小的空间.InnoDB 是 MySQL 上第一个供应外键约束(FOREIGN KEY constraints)的表引擎.
InnoDB 的计划目标是处理大容量数据库系统,它的 CPU 操纵率是别的基于磁盘的关系数据库引擎所不能比的.在技术上,InnoDB 是一套放在 MySQL 后台的完好数据库系统,InnoDB 在主内存中成立其专用的缓冲池用于高速缓冲数据和索引. InnoDB 把数据和索引存放在表空间里,大概包含多个文件,这与别的的不一样,举例来说,在 MyISAM 中,表被存放在单独的文件中.InnoDB 表的大小只受限于操作系统的文件大小,普通为 2 GB.
在http://www.innodb.com/ 上可以找到 InnoDB 最新的信息.InnoDB 手册的最新版本老是被安排在那边,并且在那边可以得到 InnoDB 的商业答应(order commercial licenses)以及支持.
InnoDB 目前(2001年十月)在一些大的需高性能的数据库站点上被利用.闻名的 Internet 新闻站点 Slashdot.org 就是利用的InnoDB. Mytrix, Inc. 在 InnoDB 表上存储了超越1TB 的数据,并且别的的一个站点在 InnoDB 表上处理着平均每秒 800 次的插入/更新的负载.

MyISAM
MyISAM 是MySQL缺省存贮引擎.

每张MyISAM 桌被存放在盘在三个文件 .frm 文件存放表格定义. 数据文件是MYD (MYData) . 索引文件是MYI (MYIndex) 引伸.
 

以下是二者一些细节和具体实现的差别:
1.InnoDB不支持FULLTEXT范例的索引.
2.InnoDB 中不保存表的具体行数,也就是说,履行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数便可.注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的.
3.关于AUTO_INCREMENT范例的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一同成立结合索引.
4.DELETE FROM table时,InnoDB不会重新成立表,而是一行一行的删除.
5.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,办理办法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是关于利用的额外的InnoDB特点(比方外键)的表不实用.

别的,InnoDB表的行锁也不是绝对的,假如在履行一个SQL语句时MySQL不能肯定要扫描的范围,InnoDB表一样会锁全表,比方update table set num=1 where name like “%aaa%”


  以上是“MySQL中InnoDB和MyISAM的差别[网站美工]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • mysql数据库插入速度和读取速度的调整记录
  • MySQL Order By索引优化办法
  • MySQL Order By用法分享
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL Order By Rand()效率解析
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .