2019独角兽企业重金招聘Python工程师标准>>>

Innodb,Myisam都是Mysql数据库存储的引擎,Innodb支持事务等数据库高级特性,Myisam不支持,但比较快速。

  1. ISAM 是一个定义明确且历经时间考验的数据表格管理方法,它在设计时就考虑到数据库被查询的次数要远远高于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错;如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MySQL能够支持这样的复制备份应用程序

  2. InnoDB 它提供了事务控制能力功能,它确保一组命令全部执行成功。或者当任何一条命令出现错误时所有命令的结果都被回退,可以想象在电子银行中事务控制能力是非常重要的。支持COMMIT,ROLLBACK和其他事务特性。最新版本的MySQL已经计划移除对DBD的支持,权利发展InnoDB

  3. MyISAM是ISAM表的新版本,进行了如下扩展:

    二进制层次的可移植性,NULL列索引,对变长行比ISAM表有更少的碎片。支持大文件,更好的索引压缩,更好的键吗统计分布,更好和更快的Auto_increment处理

  4. 区别如下:

    1. InnoDB不支持FULLTEXT类型的索引。

    2. InnoDB不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是Myisam只要简单的读出保存好的行数即可。需要注意的是,如果select语句后面包含了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同样会锁全表

    6. MySQL aminstractor建数据库的时候,表缺省是InnoDB类型

    7. InnoDB,Myisam两种类型:Myisam不支持事务处理高级特性,而InnoDB支持;Myisam类型的表强调的是性能,其执行速度比InnoDB类型的更快

    8. Myisam类型的二进制数据文件可以在不同的操作系统中迁移,也就是可以直接从windows系统拷贝到linux系统中使用

    9. 修改表的引擎类型:ALTER TABLE tablename ENGINE = MYISAM;

转载于:https://my.oschina.net/u/2611678/blog/640119

Mysql Engine【innodb,myisam】相关推荐

  1. mysql数据库建设网站,网站设计与建设-MySQL数据库【松柏书屋】

    <网站设计与建设-MySQL数据库[松柏书屋]>由会员分享,可在线阅读,更多相关<网站设计与建设-MySQL数据库[松柏书屋](64页珍藏版)>请在人人文库网上搜索. 1.第2 ...

  2. 03-JDBC连接MySQL数据库【插入数据】

    JDBC连接mysql–学习目录: 地址:http://blog.csdn.net/baidu_37107022/article/details/72600018 1.实现插入步骤 前三个步骤:注册. ...

  3. Mysql 使用【information_schema.COLUMNS】批量修改表字段注释

    接手一个新项目,已经初步开发并上线了.因开发人员不按规范开发,数据库表中的字段注释基本没有,线上追加注释不方便,最后解决是在测试端生成相应的修改字段的Sql语句来同步线上的字段保证线上.线下数据库表. ...

  4. MYSQL 命令【精华帖】

    一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 或者: mysql -u 用户名 -p // 回车后要求输入密码,密码不可见 1.连接到本机上的MYSQL. 首先打开D ...

  5. 05-JDBC连接MySQL数据库【删除数据】

    JDBC自学教程–终篇总结: 地址:http://blog.csdn.net/baidu_37107022/article/details/72600018 1.实现修改步骤 前三个步骤:注册.获得连 ...

  6. 04-JDBC连接MySQL数据库【修改数据】

    JDBC连接mysql–学习目录: 地址:http://blog.csdn.net/baidu_37107022/article/details/72600018 1.实现修改步骤 前三个步骤:注册. ...

  7. 02-JDBC连接MySQL数据库【查询数据】

    JDBC自学教程–终篇总结: 地址:http://blog.csdn.net/baidu_37107022/article/details/72600018 1.实现查询步骤 1)实现注册的两种方式 ...

  8. asp.net链接mysql数据库------------【个人收集】

    在web.config文件中添加如下样式的数据库链接字符串: <add name="dbconnection" connectionString="DataBase ...

  9. mysql sqlsugar_【开源框架】SqlSugarRepository 全库ORM 正式发布

    SqlSugarRepository.dll 全库开发框架支持 四种数据库:SqlServer. MySql .Oracle和Sqlite. SqlSugarRepository是为全库开发而生的OR ...

最新文章

  1. 计算机语言编程能力有哪些,除了编程语言,程序员还需要具备哪些能力
  2. puppeteer爬虫的奇妙之旅
  3. ubuntu12.04+fuerte 下跑通lsd-slam——数据集
  4. 10个超级有用、必须收藏的PHP代码样例
  5. php中的替换函数,php字符串中替换函数是什么
  6. vim编辑环境设定[Linux]
  7. select_arg_from_python相关的测试程序
  8. 混沌工程详细介绍——Netflix持续交付实践探寻
  9. MYSQL添加约束的两种方法
  10. Java远程连接进程
  11. VS MFC checkbox 控件默认选中
  12. 数据中心建筑设计及功能区布局的注意事项
  13. 用的iapp教程手册,iapp模块的使用教程
  14. 关于IE上embed自动播放
  15. 托利多bcom电子秤常用设置
  16. 有参构造方法的作用和无参构造方法的作用
  17. 魔法少女小圆计算机音乐,求魔法少女小圆一些背景音乐的名字
  18. MyBatis一发入魂之插入操作
  19. 银河麒麟用QIFW制作安装包
  20. 带你认识 flask 国际化和本地化

热门文章

  1. 面试官问:能否模拟实现JS的call和apply方法
  2. 学习笔记 - MarkDown 语法
  3. “互联网+”促传统企业三大转型
  4. Testing - 软件测试知识梳理 - 自动化测试
  5. 解析邮件归档技术 保护企业邮件安全(三)
  6. c#将http调用返回额json中的有关中文的unicode转换为中文
  7. windows server 2008更新补丁失败排错
  8. Mysql不同存储引擎的表转换方法
  9. 电子商务时代企业统计的发展方向
  10. [导入]ASP.NET MVC的WebSite模式(with mvc membership)