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 相关文章推荐
xml+php动态载入与分页
Oct 09 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
May 24 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
PHP实现货币换算的方法
Nov 29 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
Jul 16 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
PHP实现网站应用微信登录功能详解
Apr 11 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
numpy.random.seed()的使用实例解析
2018/02/03 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
python实现推箱子游戏
2020/03/25 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
家长学校工作方案
2014/05/07 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书
复兴之路观后感
2015/06/02 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
SpringBoot整合RabbitMQ的5种模式实战
2021/08/02 Java/Android