mysql 存储引擎MYSIAM和INNODB特性比较
事物: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特性比较的更多相关文章
- MySQL存储引擎--MYSIAM和INNODB引擎区别
参考:http://blog.csdn.net/memray/article/details/8914042 MYSIAM和INNODB引擎区别主要有以下几点: 1.MyISAM查询性能比InnoDB ...
- MySQL存储引擎 - Myisam和Innodb
Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比 MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件.第一个 文件的名字以表的名字开始 ...
- MySQL存储引擎MyISAM与InnoDB
一. MySQL存储引擎MyISAM与InnoDB如何选择 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).B ...
- MySQL存储引擎MyISAM和InnoDB,索引结构优缺点
MySQL存储引擎MyISAM和InnoDB底层索引结构 深入理解MySQL索引底层数据结构与算法 (各种索引结构优缺点) Myisam和Innodb索引实现的不同(存储结构) 存储引擎作用于什么对象 ...
- MySQL存储引擎MyISAM与InnoDB区别总结整理
在MySQL的 可重复读隔离级别 中,是解决了幻读的读问题的. 1. MySQL默认存储引擎的变迁 在MySQL 5.5之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默 ...
- 170309、MySQL存储引擎MyISAM与InnoDB区别总结整理
1.MySQL默认存储引擎的变迁 在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB. 2.MyISAM与InnoDB存 ...
- MySQL存储引擎 -- MyISAM 与 InnoDB 实现
一.MyISAM索引实现MyISAM引擎使用B树作为索引结构,叶节点的data域存放的是数据记录的地址. MyISAM主键索引这里设表一共有三列,假设我们以Col1为主键,Col2为辅助索引.则下图是 ...
- MySQL存储引擎 -- MyISAM 与 InnoDB 理论对比
MySQL常用的两种存储引擎一个是MyISAM,另一个是InnoDB.两种存储引擎各有各的特点. 1. 区别:(1)事务处理:MyISAM是非事务安全型的.-----而非事务型的系统,一般也称为数据仓 ...
- MySQL存储引擎MyISAM与InnoDB区别
简单的表达. MyISAM 是非事务的存储引擎. innodb是支持事务的存储引擎. innodb的引擎比较适合于插入和更新操作比较多的应用 而MyISAM 则适合用于频繁查询的应用 ...
随机推荐
- C语言结构体占用空间内存大小解析
结构体的数据类型的有点我们就不啰嗦了,直接来看相同数据结构体的几种书写的格式吧. 格式一: 01.struct tagPhone 02.{ 03. char A; 04. int ...
- B题(覆盖问题)
B - B Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Desc ...
- segv & mini coredump
1. mini coredump a. segv http://zh.scribd.com/doc/3726406/Crash-N-Burn-Writing-Linux-applica ...
- hdu 3400 Line belt
题意:给你两条线段AB,CD:然后给你在AB,CD上的速度P,Q,在其它部分的速度是R,然后求A到D的最短时间. 思路:用三分枚举从AB线段上离开的点,然后再用三分枚举在CD的上的点找到最优点,求距离 ...
- go官网教程A Tour of Go
http://tour.golang.org/#1 中文版:http://go-tour-cn.appsp0t.com/#4 package main import ( "fmt" ...
- Delphi实现AnsiString与WideString的转换函数 转
Delphi实现AnsiString与WideString的转换函数 分类: Delphi2013-01-26 16:23 460人阅读 评论(0) 收藏 举报 [delphi] view plain ...
- ubuntu14.04.2 添加ppa remastersys源 镜像ubuntu系统
- selenium webdriver python 元素操作
常用操作 click 点击某个元素 driver.find_element_by_id(“su”).click() clear driver.find_element_by_id(“kw”).cl ...
- KMP学习
刚才看了(连接)写的翻译,把kmp算法的工作过程讲的很不错,kmp算法的核心是next,next为什么要那么赋值?其实就是前缀和后缀的最大匹配值,用这个值在匹配失败的时候可以跳过一个不必要的匹配. ...
- 在DataTable和DataView中查找指定记录
一.在DataTable中查找 1. 使用Select方法查找没有主键的表DataTable的Select方法返回一个DataRow数组,有四个重载的函数. DataRow[] drs = dt.Se ...