• mysql之存储引擎-第二篇


    什么是存储引擎?

    数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建,查询,更新和删除数据操作。不同的存储引擎提供了不同的存储机制,索引技巧及特定功能。

    存储引擎类型

    InnoDB:是事务型数据库的首先引擎,支持事务的安全表(ACID),支持行锁和外键;

    MyISAM:拥有较高的插入,查询速度,但不支持事务;

    MEMORY:将表中的数据存储在内存中,为查询和引用其他数据提供快速访问;

    mysql支持的存储引擎

    通过命令我们可以查询mysql支持的存储引擎

    mysql> show engines;
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
    | MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
    | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
    | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
    | MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
    | CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
    | ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
    | PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
    | FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    9 rows in set (0.02 sec)

    不同的存储引擎都有各自的特点,以适应不同的需求,mysql默认的存储引擎是InnoDB;但我们可以根据不同的需求选择不同的存储引擎;比如:

    如果需要提供事务支持,并要求实现并发控制,InnoDB是一个很好的选择;

    如果数据表主要是用来插入和查询记录,则可选择MyISAM提供较高的处理效率;

    如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,则可以将数据保存在内存中的MEMORY引擎中;

  • 相关阅读:
    【C++11】准备:gcc 4.9.0编译安装
    【转】C++ 虚函数表解析
    【工作总结】内存泄漏总结
    【工作总结】C++ string工具类
    工作总结
    【工作笔记】CxImage简介
    【工作笔记】没有界面程序调用ActiveX控件
    【工作笔记】npapi插件编写
    【工作笔记】VLC播放器在chrome中的调用
    Linux多任务编程之三:exec函数族及其基础实验(转)
  • 原文地址:https://www.cnblogs.com/zzjlxy-225223/p/12791665.html
Copyright © 2020-2023  润新知