zoukankan      html  css  js  c++  java
  • MySql存储引擎

    什么是存储引擎?

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些不同的技术以及配套的相关功能在 MySQL中被称作存储引擎(也称作表类型)。 

    MySql的存储引擎:
      • MyISAM
        节省数据库空间,当数据读远大于修改时,可以使用该存储引擎
      • InnoDB
        支持事务,如果数据修改较多时,可以使用该存储引擎
      • MEMORY
        存储在内存中,速度快,如果存储非永久性数据时,可以使用该存储引擎

    InnoDB

    InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据存储提供了一个强大的解决方案。

    适用性:

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

    MEMORY

    使用MySQL Memory存储引擎会将数据存储再内存中,在提高性能的同事,当mysqld守护进程崩溃时,所有的Memory数据都会丢失。

    一般在以下几种情况下使用Memory存储引擎:

    1.目标数据较小,而且被非常频繁地访问。

    2.如果数据是临时的,而且要求必须立即可用,

    3.存储在Memory表中的数据如果突然丢失,不会对应用服务产生实质的负面影响。

    MERGE

    MERGE存储引擎是一组MyISAM表的组合,这些MyISAM表结构必须完全相同,常用于日志。日志需要分成多个表存储,但是可能需要聚合查询报表。

    ARCHIVE

    Archive拥有很好的压缩机制,它使用zlib压缩库,在记录被请求时会实时压缩,所以它经常被用来当做仓库使用。

    查看引擎:

    show engines;

    存储引擎使用例子

    create table users
    (
       ….
    )engine=memory;

  • 相关阅读:
    享元模式及php实现
    共享内存
    LCD触屏驱动
    I2C驱动
    C++ & java小结
    使用GlobalKey启动APP
    socketpair通信
    inotify和epoll
    C语言之二叉树
    灯光系统
  • 原文地址:https://www.cnblogs.com/feichangnice/p/10718421.html
Copyright © 2011-2022 走看看