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 相关文章推荐
编译问题
Oct 09 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
php设计模式 Observer(观察者模式)
Jun 26 PHP
php数组中删除元素之重新索引的方法
Sep 16 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 PHP
PHP count()函数讲解
Feb 03 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
Oct 20 PHP
phpstudy2020搭建站点的实现示例
Oct 30 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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版)
2006/10/09 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
destoon数据库表说明汇总
2014/07/15 PHP
php限制ip地址范围的方法
2015/03/31 PHP
PHP图片水印类的封装
2017/07/06 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
深入理解JavaScript定时机制
2010/10/29 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
从vue源码看props的用法
2019/01/09 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
python skimage 连通性区域检测方法
2018/06/21 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
Python有参函数使用代码实例
2020/01/06 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2020/03/06 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
美国家具网站:Cymax
2016/09/17 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
简历中个人求职的自我评价模板
2013/11/29 职场文书
中专生的个人自我评价
2013/12/11 职场文书
门卫工作岗位职责
2013/12/17 职场文书
创业大赛策划书
2014/03/01 职场文书
商业融资计划书
2014/04/29 职场文书
驾驶员培训方案
2014/05/01 职场文书
法人任命书范本
2014/06/04 职场文书
婚前协议书标准版
2014/10/19 职场文书