• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL InnoDB和MyISAM数据引擎的差别分析

MySQL InnoDB和MyISAM数据引擎的差别分析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql innodb myisam,innodb myisam区别,myisam innodb,mysql innodb,mysql innodb引擎等相关知识,希望本文的分享对您有所帮助
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。

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的性能优势。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 探讨:innodb与myisam在存储上有何特点和区别
  • 浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析
  • 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
  • MySQL Innodb表导致死锁日志情况分析与归纳
  • 关于mysql innodb count(*)速度慢的解决办法
  • MyISAM和InnoDB引擎优化分析
  • MYSQL 浅谈MyISAM 存储引擎
  • MySQL InnoDB之事务与锁详解
  • Mysql(MyISAM)的读写互斥锁问题的解决方法
  • 将MySQL从MyISAM转换成InnoDB错误和解决办法

相关文章

  • 2017-05-11深度分析mysql GROUP BY 与 ORDER BY
  • 2018-12-05修复断电等损坏的SQL 数据库
  • 2018-12-05MySQL存储过程-->通过游标遍历和异常处理迁移数据到历史表
  • 2017-05-11win2003服务器下配置 MySQL 群集(Cluster)的方法
  • 2018-12-05主从复制问题引起的架构优化思考
  • 2018-12-05sqlserver中Case的使用方法(上下篇)第1/2页
  • 2018-12-05如何理解spring事务及声明式事务的使用
  • 2018-12-05数据库jdbc封装
  • 2017-05-11Linux下启动多个mysql服务器例子
  • 2017-05-11mysql中RAND()随便查询记录效率问题和解决办法分享

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 如何修复mysql数据库
    • Mysql优化的方向与目的
    • 实例讲解如何利用crontab定时备份MySQL
    • sql存储过程获取汉字拼音头字母函数
    • MySQL中or语句用法示例
    • MySQL性能优化之Open_Table配置参数的合理配置建议
    • Oracle 数据库针对表主键列并发导致行级锁简单演示
    • SQL中的where条件,在数据库中提取与应用浅析
    • mysql安装后添加gbk字符集的方法
    • Mysql主从同步原理实现的详情介绍(图文)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有