Mysql的数据库引擎有很多,最重要的就是MyISAM、InnoDB、heap(memory),此外还有BDB、archive数据表、csv、ndb、federated

InnoDB
 
优点:
1、对数据库事务支持,支持四种事务级别(read uncommitted、read committed、repeatable read、serializable)
2、提供行级锁(内建的)和外键,目的是处理大量数据库系统,行级锁锁定的只是一次事务中的记录,不会锁定数据表,所以其他的用户都可以去访问操作数据库,可以大大的提高效率。此外,它可以识别死锁(两个或多个进程互相等待,死循环),并自动终止其中的一个。
3、可以崩溃恢复,有一个缓冲区
 
缺点:
1、不支持全文索引
2、空间占用量大
3、不保存表行数,搜索行数时要全表扫描,比myIASM慢。
 
MYIASM引擎(MySQL默认)
 
myIASM分为:MyISAM static(数据列各自都有固定的长度、存取效率高、安全性高)、MyISAM dynamic(空间利用率高,自定义)、MyISAM compressed(访问速度快,但修改压缩后的数据)
1、对数据库事务不支持
2、不支持行级锁和外键,但支持表锁
3、数据库读写分离
4、支持全文索引
 
InnoDB和MyISAM两种引擎的选择
 
可以在不同的数据表中使用不同的引擎,即这两种引擎可以在同一数据库中使用。
1、节约空间和时间选择MyISAM
2、用到事务、安全性更高,需要用户同时操作选择InnoDB
3、没有绝对的最优,具体情况具体看待
  1)大尺寸的数据集趋向于选择InnoDB引擎,因为它支持事务处理和故障恢复。数据库的大小决定了故障恢复的时间长短,InnoDB可以利用事务日志(二进制)进行数据恢复,这会比较快主键查询在InnoDB引擎下也会相当快。主键不能太长
  2)批量插入使用myISAM快,因为它不支持事务,出现问题时不需要回滚
 
heap
 
heap数据表只存在内存中,使用散列索引(hash index),所以速度快
主要用途是充当临时数据表(MySQL服务停止运行,则消失)
主要适用于数量小,访问速度高的
 

MySQL的数据库引擎的更多相关文章

  1. MySQL的数据库引擎的类型及区别

    MySQL的数据库引擎的类型 你能用的数据库引擎取决于mysql在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和 ...

  2. MySQL的数据库引擎的类型

    你能用的数据库引擎取决于mysql在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另外两种类型INNO ...

  3. 2、MySQL常见数据库引擎及比较?

    MySQL存储引擎简介 MySQL支持数个存储引擎作为对不同表的类型的处理器.MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎: MyISAM管理非事务表.它提供高速存储和检索,以及 ...

  4. MySQL的数据库引擎的类型(转)

    腾讯后台开发电话面试问到数据库引擎选用的问题,这里补习一下. 本文属于转载,原文链接为:http://www.cnblogs.com/xulb597/archive/2012/05/25/251811 ...

  5. MySQL常见数据库引擎及比较?

    一:MySQL存储引擎简介 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB) ...

  6. [Windows Server 2012] MySQL更改数据库引擎(MyISAM改为INNODB)

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:更改MyS ...

  7. MySQL常见数据库引擎及比较

    一:MySQL存储引擎简介 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB) ...

  8. MySQL常见数据库引擎及对比

    一:MySQL存储引擎简介 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB) ...

  9. 深入浅出分析MySQL常用存储引擎

    MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点 ...

随机推荐

  1. 802.11 wireless 六

    802.11 wireless 6Bluetooth蓝牙1.无线个人网络(WPAN)的无线电系统2.普通链路范围 10米/0dBm(100米/20dBm)3.传输频率在2.402 GHZ和2.480 ...

  2. MYbatis调试日记(三)

    如何在Mybatis中插入日期类型的数据 直接见代码: xml配置文件 java代码

  3. 【转载】MyBatis之传入参数

    原文地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764 在MyBatis的select.insert.update.dele ...

  4. 【BZOJ】【3504】【CQOI2014】危桥

    网络流/最大流 比较裸的最大流= = 无向图上走来回其实就等价与走两遍>_> 如果路径有相交其实不影响答案的 比较恶心的是两个人路过同一座桥,但走的方向不同互相抵消流量了…… 其实只要在第 ...

  5. Matlab实现网络拓补图

    顶点号 顶点号 权值 1 2 400 1 3 450 2 4 300 2 8 230 2 9 140 3 4 600 4 5 210 4 19 310 5 6 230 5 7 200 6 7 320 ...

  6. angularJs 问题

    1. IE不能渲染指令中的 style="background-color",而chrome和firefox可以 <!DOCTYPE html> <html ng ...

  7. 寒假222_Topcoder SRM648

    序号1: A,随便模拟好了,最后30秒发现一个都比的错误,无奈输错格式. 2: B,问你出去两个点,以及所产生的边 问你:产生多的联通快 加答案加1. 数据小,随便写暴力 3: copy思路. 我们先 ...

  8. jQuery打印插件PrintArea实现

    实现javascript打印功能,打印整个页面就很简单,但如果指定打印某一个区域就有点难点,这里有一个jQuery插件PrintArea可实现打印页面某区域功能. 使用说明需要使用jQuery库文件和 ...

  9. BZOJ2199: [Usaco2011 Jan]奶牛议会

    趁此机会学了一下2-SAT. 以前的2-SAT都是用并查集写的,只能应用于极小的一部分情况,这次学了一正式的2-SAT,是用一张有向图来表示其依赖关系. 2-SAT的介绍参见刘汝佳<训练指南&g ...

  10. JobClient学习------作业提交与初始化

    public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); ...