zoukankan      html  css  js  c++  java
  • mysql 存储引擎学习

    现在我们常用的MySQL存储引擎主要是两种:InnoDB and MyISAM。

    1.MyISAM 

      执行效率高

       不支持事务

       不支持外键

       每个MyISAM在磁盘上存储成3个文件,其中文件名和表名都相同,但是扩展名分别为:

    • .frm(存储表定义)
    • MYD(MYData,存储数据)
    • MYI(MYIndex,存储索引)

    2.InnoDB(当前mysql的默认 存储引擎)

       支持事务:提供具有提交、回滚和崩溃恢复能力的事务安全。

       支持外键约束。

       支持行级锁。

       对比MyISAM存储引擎,InnoDB的写处理效率差一些以及会占用更多的磁盘空间来保留数据和索引。

      在以下场合下,使用InnoDB是最理想的选择:

      更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。
      事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。
      自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。
      外键约束。MySQL支持外键的存储引擎只有InnoDB。
      支持自动增加列AUTO_INCREMENT属性。

    3.MEMORY

      采用的逻辑存储介质是系统内存。

      最大的特点就是速度快。但是也因为在内存中,当mysqld守护进程崩溃时,所有Memory数据都会丢失。

      Memory要求存储在数据表里的数据使用的是长度不变的格式,这意味着不能使用BLOB和TEXT这样的长度可变的数据类型,VARCHAR是一种长度可变的类型,但因为它在MySQL内部当做长度固定不变的CHAR类型,所以可以使用。

    还有一些其他类型的存储引擎。因本人实际开发中,未曾接触,暂不总结。

  • 相关阅读:
    phalapi框架where条件查询
    yii2学习网站
    改变yii2 $form最外层div样式
    PHP库(数据抓取)
    yii框架场景的用法
    Yii框架数据查询
    更改控制台编码格式
    打开yii2控制台命令
    过滤器实现登录拦截
    SSM整合
  • 原文地址:https://www.cnblogs.com/lingshao/p/5580257.html
Copyright © 2011-2022 走看看