mysql 中InnoDB和MyISAM的区别分析小结


Posted in PHP onApril 15, 2008

 MyIASM是IASM表的新版本,有如下扩展:
二进制层次的可移植性。
NULL列索引。
对变长行比ISAM表有更少的碎片。
支持大文件。
更好的索引压缩。
更好的键吗统计分布。
更好和更快的auto_increment处理。

以下是一些细节和具体实现的差别:

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的性能优势。

PHP 相关文章推荐
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
限制ckeditor上传图片文件大小的方法
Nov 15 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
php创建多级目录的方法
Mar 24 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
Yii2框架BootStrap样式的深入理解
Nov 07 PHP
thinkPHP5.0框架环境变量配置方法
Mar 17 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
PHP使用栈解决约瑟夫环问题算法示例
Aug 27 PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 #PHP
php zend解密软件绿色版测试可用
Apr 14 #PHP
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 #PHP
php5 mysql分页实例代码
Apr 10 #PHP
Smarty安装配置方法
Apr 10 #PHP
PHP程序员编程注意事项
Apr 10 #PHP
php下使用以下代码连接并测试
Apr 09 #PHP
You might like
php英文单词统计器
2016/06/23 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
javascrpt密码强度校验函数详解
2020/03/18 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
带你了解python装饰器
2017/06/15 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
Python登录注册验证功能实现
2018/06/18 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python转化excel数字日期为标准日期操作
2020/07/14 Python
python实现图片转字符画的完整代码
2021/02/21 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
轻松制作精彩视频:Animoto
2018/09/19 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
非常详细的C#面试题集
2016/07/13 面试题
你们项目是如何进行变更控制的
2015/08/26 面试题
医学护理系毕业生求职信
2013/10/01 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
意向协议书范本
2014/04/23 职场文书
个人承诺书格式
2014/06/03 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
学习nginx基础知识
2021/09/04 Servers
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript