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 相关文章推荐
PHP实现网上点歌(二)
Oct 09 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &
Feb 09 PHP
遍历指定目录下的所有目录和文件的php代码
Nov 27 PHP
php中global和$GLOBALS[]的分析之一
Feb 02 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
Jun 06 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
Aug 08 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
ThinkPHP中数据操作案例分析
Sep 27 PHP
php可变长参数处理函数详解
Feb 22 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 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
一个简单实现多条件查询的例子
2006/10/09 PHP
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
Vue实现简单分页器
2018/12/29 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
JavaScript制作3D旋转相册
2020/08/02 Javascript
Javascript如何实现双指控制图片功能
2020/02/25 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
Python多线程爬虫简单示例
2016/03/04 Python
Python数据类型之Dict字典实例详解
2019/05/07 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
电气工程和自动化自荐信范文
2013/12/25 职场文书
销售主管竞聘书
2014/03/31 职场文书
大学学风建设方案
2014/05/04 职场文书
2014世界杯球队球队口号
2014/06/05 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
教师学期末个人总结
2015/02/13 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
MySQL读取JSON转换的方式
2022/03/18 MySQL