• MySQL的数据库引擎


     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服务停止运行,则消失)
    主要适用于数量小,访问速度高的
     
  • 相关阅读:
    如何让自己拥有两年工作经验
    示波器入门使用方法
    模板显式、隐式实例化和(偏)特化、具体化的详细分析
    Dynamics CRM 2013 初体验(5):Business Rule
    Tomcat搭建
    岁月,时光,现实
    数据结构之链表单向操作总结
    iptables学习笔记
    知无涯者(The Man Who Knew Infinity)
    Dynamics CRM2016 Web API之Expand related entities & $ref & $count
  • 原文地址:https://www.cnblogs.com/sker/p/5750831.html
Copyright © 2020-2023  润新知