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 运行效率总结(提示程序速度)
Nov 26 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
深入理解require与require_once与include以及include_once的区别
Jun 05 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 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
用Flash图形化数据(一)
2006/10/09 PHP
PHP使用ob_start生成html页面的方法
2014/11/07 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
jQuery实现鼠标移到元素上动态提示消息框效果
2013/10/20 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
python机器学习库常用汇总
2017/11/15 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
python 并发下载器实现方法示例
2019/11/22 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
生日寿宴答谢词
2014/01/19 职场文书
《恐龙》教学反思
2014/04/27 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书