MyISAM to InnoDB: Why and How(MYSQL官方译文)
原文地址:https://www.mysql.com/why-mysql/presentations/myisam-2-innodb-why-and-how/
MySQL使用一个插拔式的存储引擎架构,可以让用户根据实际应用于负载进行选择最合适的存储引擎;然而目前InnoDB是最主流的存储引擎,一些用户之前需要使用全文搜索导致必须依赖MyISAM引擎而且在一些情况下不需要事务的支持,所有选择MyISAM。但是随着Mysql5.6版本的发布,选择MyISAM的这些理由已经不再那么有力,在MySQL5.6版本中InnoDB数据库引擎native的方式支持全文搜索,并且性能有显著提升。
在发布时候介绍了一些I浓浓DB的新特性,包括全文搜索以及性能提升。并且指出如何从 MyISAM到InnoDB的数据迁移方案,主要包含主题有:
- Portability of InnoDB files (individual .idb files and the Undo log)
- Performance improvements with InnoDB Read-only transactions
- Impact of changes to InnoDB page size
- InnoDB Full Text Search
两个数据引擎的对比:文章有点陈旧,目前InnoDB已经支持全文索引。
原文地址:https://clients.fluccs.com.au/knowledgebase/701/MySQL-Engines-InnoDB-vs-MyISAM--A-Comparison-of-Pros-and-Cons.html
MySQL Engines: InnoDB vs. MyISAM – A Comparison of Pros and Cons
The 2 major types of table storage engines for MySQL databases are InnoDB and MyISAM. To summarize the differences of features and performance,
- InnoDB is newer while MyISAM is older.
- InnoDB is more complex while MyISAM is simpler.
- InnoDB is more strict in data integrity while MyISAM is loose.
- InnoDB implements row-level lock for inserting and updating while MyISAM implements table-level lock.
- InnoDB has transactions while MyISAM does not.
- InnoDB has foreign keys and relationship contraints while MyISAM does not.
- InnoDB has better crash recovery while MyISAM is poor at recovering data integrity at system crashes.
- MyISAM has full-text search index while InnoDB has not.
In light of these differences, InnoDB and MyISAM have their unique advantages and disadvantages against each other. They each are more suitable in some scenarios than the other.
Advantages of InnoDB
- InnoDB should be used where data integrity comes a priority because it inherently takes care of them by the help of relationship constraints and transactions.
- Faster in write-intensive (inserts, updates) tables because it utilizes row-level locking and only hold up changes to the same row that’s being inserted or updated.
Disadvantages of InnoDB
- Because InnoDB has to take care of the different relationships between tables, database administrator and scheme creators have to take more time in designing the data models which are more complex than those of MyISAM.
- Consumes more system resources such as RAM. As a matter of fact, it is recommended by many that InnoDB engine be turned off if there’s no substantial need for it after installation of MySQL.
- No full-text indexing.
Advantages of MyISAM
- Simpler to design and create, thus better for beginners. No worries about the foreign relationships between tables.
- Faster than InnoDB on the whole as a result of the simpler structure thus much less costs of server resources.
- Full-text indexing.
- Especially good for read-intensive (select) tables.
Disadvantages of MyISAM
- No data integrity (e.g. relationship constraints) check, which then comes a responsibility and overhead of the database administrators and application developers.
- Doesn’t support transactions which is essential in critical data applications such as that of banking.
- Slower than InnoDB for tables that are frequently being inserted to or updated, because the entire table is locked for any insert or update.
The comparison is pretty straightforward. InnoDB is more suitable for data critical situations that require frequent inserts and updates. MyISAM, on the other hand, performs better with applications that don’t quite depend on the data integrity and mostly just select and display the data.
MyISAM to InnoDB: Why and How(MYSQL官方译文)的更多相关文章
- MySQL中MyISAM与InnoDB区别及选择,mysql添加外键
InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间 ...
- MYiSAM和InnoDB引擎区别(mysql)
MyISAM 1.读取速度快. 2.※更新时锁整个表. 3.占用资源少. 4.适合读多写少的业务. 5.※不支持事务. InnoDB 1.读取速度一般. 2.※更新时锁当前行. 3.占用资源高. ...
- MySQL的MyISAM和InnoDB对比及优化(转)
MyISAM和InnoDB是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是 ...
- mysql存储引擎之MyISAM 和 InnoDB的比较
一.什么是存储引擎 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和 ...
- (转)MySQL数据库引擎ISAM MyISAM HEAP InnoDB的区别
转自:http://blog.csdn.net/nightelve/article/details/16895917 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- (转) mysql数据库引擎:MyISAM和InnoDB(性能优化)
转自 http://yuwensan126.iteye.com/blog/1138022 Mysql 数据库中,最常用的两种引擎是innordb和myisam.Innordb的功能要比myiasm强大 ...
- MySQL引擎介绍ISAM,MyISAM,HEAP,InnoDB
MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL. 在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另外两种类型IN ...
- MySQL中MyISAM和InnoDB两种主流存储引擎的特点
一.数据库引擎(Engines)的概念 MySQ5.6L的架构图: MySQL的存储引擎全称为(Pluggable Storage Engines)插件式存储引擎.MySQL的所有逻辑概念,包括SQL ...
- 170309、MySQL存储引擎MyISAM与InnoDB区别总结整理
1.MySQL默认存储引擎的变迁 在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB. 2.MyISAM与InnoDB存 ...
随机推荐
- using的几种用法
1.using指令.using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间 例如:using System; 一般都会出现在*.cs中. 2.using ...
- mysql查看执行sql语句的记录日志
开启日志模式 -- 1.设置 -- SET GLOBAL log_output = 'TABLE';SET GLOBAL general_log = 'ON'; //日志开启 -- SET GLOB ...
- C# 基础运算符及运算
本节主要讲述运算符的分类及其实际运用 运算符 分类 符号 解释 优先级 算数 ++ -- 加加(加1) 减减(减1) 由高到低,即执行顺序由上到下(圆括号的优先级最高) * / % 乘 除 ...
- elasticsearch6.7 05. Document APIs(9)Bulk API
8.Bulk API 可以把多个index或delete操作放在单个bulk API中执行.这样可以极大地提高索引速度. /_bulkAPI使用如下的JSON结构: action_and_meta_d ...
- LVOOP设计模式在路上(二)-- 策略模式
前言 最近工作还挺忙的,连着好些周都是单休了,今天休息在家就来写写关于策略模式的理解和labivew的实现. 正文 1.什么是策略模式 定义是这样描述的:它定义了算法家族,分别封装起来,让它们之间可以 ...
- 初学CSS-2-文本的属性
文本装饰属性: 格式:text-decoration:underline: 取值:underline(下划线) line-through(删除线) overline(上划线) none(什么都没有) ...
- linux学习笔记-解决google-chrome打开后弹出输入密码以解锁您的登录密钥环的提示
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.理论知识 1.密钥的作用 google-chrome存储了网站登录时使用的账号和密码信息,这个密钥是用来保护这些信息的 2. ...
- 让js中的函数只有一次有效调用的三种常用方法
1.通过闭包来实现. <script> window.onload = function () { function once(fn) { var result; return funct ...
- JS中的三种循环
三种循环1.while 2.do while 3.for 1.while: 语法结构:while(条件){代码块:改变条件} 步骤:1.初始化变量 2.判断条件 3.执行代码块 4.改变初始条 ...
- 一些关于Viewport与device-width的东西~(转)
内容转自 http://www.cnblogs.com/koukouyifan/p/4066567.html 非常感谢 口口一凡 为我们提供的这篇文章,受益匪浅,特地转到自己的博客收藏起来. 以下是原 ...