• 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服务停止运行,则消失)
    主要适用于数量小,访问速度高的
     
  • 相关阅读:
    关于ArcGIS Server VS2010无法显示发布的地图服务
    NDK,动态链接库,JNI
    android开发中一些报错的解决方法
    查询死锁对象
    pb导入excel文件
    n_cst_ping在powerbuilder 11 中的变化,一面的程序可正常ping
    SQL拼音
    数据库优化
    android调用asp.net webservice,返回json结构
    iframe内部需要弹出浮层问题
  • 原文地址:https://www.cnblogs.com/sker/p/5750831.html
Copyright © 2020-2023  润新知