事物:MYISAM不支持事物,MyISAM类型的表强调的是性能,其执行数度比InnoDB

类型更快。如果不考虑事物,大量的select和insert适合MYISAM表

锁:MYISAM支持表锁
    INNODB提供行级锁,提供与 Oracle 类型一致的不加锁读取(non-locking read in),
   INNODB行锁也不是绝对的,在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”

多版本高并发:多版本高并发即MVCC,INNODB才有MVCC支持高并发,实现四个标
准隔离级别,默认是可重复读,通过间隙锁防止幻读。间隙锁使得INNODB不仅仅
锁定涉及查询的行,还对索引中间隙进行锁定,防止幻行写入。

事务修复和崩溃修复:MYISAM可以手工或者自动的检查和修复操作,但不是崩溃
恢复。INNODB一定程度上支持崩溃时数据的丢失恢复,但不是绝对的恢复,且恢复时间长

备份:如果需要关闭服务器执行备份,备份策略可以忽略。但是需要在线热备份,INNODB是更好的选择

转换引擎上,有三种方式
1:alert table语句:  alert table mytable ENGINE=InnoDB;
此方法效率最低,需要把数据复制到一张新表,系统IO能力可能被耗尽,同时在原表加锁,需要避开表使用高峰期,同时会造成原引擎特性丢失,索引,外键等

2:导入导出
通过mysqldump工具可以导出到文件。但是会默认在在create table加drop table语句,不注意会造成数据丢失

2:创建查询
先创建一个新储存引擎的表,通过insert ---select导入,这种方式在数据量级别低的情况下是不错的选择,如果数据量过大,可以通过分批处理。完成后,新表是对旧表的复制,但旧表还存在。也可以在负责过程中对原表加锁,确保与原表数据一致。

mysql 存储引擎MYSIAM和INNODB特性比较的更多相关文章

  1. MySQL存储引擎--MYSIAM和INNODB引擎区别

    参考:http://blog.csdn.net/memray/article/details/8914042 MYSIAM和INNODB引擎区别主要有以下几点: 1.MyISAM查询性能比InnoDB ...

  2. MySQL存储引擎 - Myisam和Innodb

    Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比   MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件.第一个 文件的名字以表的名字开始 ...

  3. MySQL存储引擎MyISAM与InnoDB

    一. MySQL存储引擎MyISAM与InnoDB如何选择 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).B ...

  4. MySQL存储引擎MyISAM和InnoDB,索引结构优缺点

    MySQL存储引擎MyISAM和InnoDB底层索引结构 深入理解MySQL索引底层数据结构与算法 (各种索引结构优缺点) Myisam和Innodb索引实现的不同(存储结构) 存储引擎作用于什么对象 ...

  5. MySQL存储引擎MyISAM与InnoDB区别总结整理

    在MySQL的 可重复读隔离级别 中,是解决了幻读的读问题的. 1. MySQL默认存储引擎的变迁 在MySQL 5.5之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默 ...

  6. 170309、MySQL存储引擎MyISAM与InnoDB区别总结整理

    1.MySQL默认存储引擎的变迁 在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB. 2.MyISAM与InnoDB存 ...

  7. MySQL存储引擎 -- MyISAM 与 InnoDB 实现

    一.MyISAM索引实现MyISAM引擎使用B树作为索引结构,叶节点的data域存放的是数据记录的地址. MyISAM主键索引这里设表一共有三列,假设我们以Col1为主键,Col2为辅助索引.则下图是 ...

  8. MySQL存储引擎 -- MyISAM 与 InnoDB 理论对比

    MySQL常用的两种存储引擎一个是MyISAM,另一个是InnoDB.两种存储引擎各有各的特点. 1. 区别:(1)事务处理:MyISAM是非事务安全型的.-----而非事务型的系统,一般也称为数据仓 ...

  9. MySQL存储引擎MyISAM与InnoDB区别

    简单的表达.  MyISAM 是非事务的存储引擎.  innodb是支持事务的存储引擎.    innodb的引擎比较适合于插入和更新操作比较多的应用  而MyISAM 则适合用于频繁查询的应用    ...

随机推荐

  1. C语言结构体占用空间内存大小解析

    结构体的数据类型的有点我们就不啰嗦了,直接来看相同数据结构体的几种书写的格式吧. 格式一: 01.struct tagPhone 02.{ 03.     char   A; 04.     int  ...

  2. Hibernate的批量处理

    Hibernate完全以面向对象的方式操作数据库,当程序员以面向对象的方式操作持久化对象时,将自动转换为对数据的操作.例如我们Session的delete()方法,来删除持久化对象,Hibernate ...

  3. Html Meta 标签详解

    http://www.dreamdu.com/xhtml/tag_meta/

  4. 【HDOJ】2195 Monotone SE Min

    简单DP.将[0,1]的浮点数离散化为[0,1000]的整数.最后再除以1000^2. /* 2195 */ #include <cstdio> #include <cstring& ...

  5. vijosP1499炸毁燃料库

    背景 某天,外星人展开了对地球的侵略,OIer们开始与之周旋... 描述 外星人派出了172849个外星人乘着UFO来到地球,curimit神new带领着OIer们奋力抵抗.curimit神new觉得 ...

  6. 第一个Windows程序讲解

    上次,我们一起写了第一个Windows程序,虽然程序非常简单,但是它却可以帮助大家建立学好windows开发的信心. 今天,就让我帮助大家分析一下这个程序的内容.首先,我们的程序包含了一个头文件:wi ...

  7. 【转】 android 4.4 Step Counter Sensor计步器的使用

    原文网址:http://blog.csdn.net/aikongmeng/article/details/40457233 版权声明:本文为博主原创文章,未经博主允许不得转载. Android 官方参 ...

  8. EditText输入长度动态控制,最大长度为16位,小数点后面最大为2位,输入整数只能为13位

    首先在xml 中把inputType设置为numberDecimal (包含小数点)然后在把maxLeng设置为16 package com.example.numbertest; import an ...

  9. C++編程札記「基礎」

    一直以為自己最擅長的編程語言是C++,那時自己的水平停留在使用C++來實現數據結構中的各種ADT和ACM算法. 創建一個類,必須實現的成員函數 explicit構造函數 對於單參數構造函數,添加exp ...

  10. Appium 环境搭建

    1.安装nodejs 下载地址: http://nodejs.org/download/ 下载之后一路next就好. 验证是否安装成功: node -v