• Store engine for Mysql


    Mysql支持多种存储引擎,通过通用的接口实现来保证各引擎之间的语法一致性.

    在选用存储引擎时,需要考虑以下方面:

    • 并发性:某些应用程序比其他应用程序具有很多的颗粒级锁定要求(如行级锁定)。选择正确的锁定策略能够减少开销,并有助于整体性能的提升。它还包括对多种能力的支持,如多版本并发性控制或“快照”读取等。
    • 事务支持:并非所有的应用程序都需要事务,但对的确需要事务的应用程序来说,有着定义良好的需求,如ACID兼容等。
    • 引用完整性:通过DDDL定义的 外键,服务器需要强制保持关联数据库的引用完整性。
    • 物理存储:它包括各种各样的事项,从表和索引的总的页大小,到存储数据所需的格式,到物理磁盘。
    • 索引支持:不同的应用程序倾向于采用不同的索引策略,每种存储引擎通常有自己的编制索引方法,但某些索引方法(如B-tree索引)对几乎所有的存储引擎来说是共同的。
    • 内存高速缓冲:与其他应用程序相比,不同的应用程序对某些内存高速缓冲策略的响应更好,因此,尽管某些内存高速缓冲对所有存储引擎来说是共同的(如用于用户连接的高速缓冲,MySQL的高速查询高速缓冲等),其他高速缓冲策略仅当使用特殊的存储引擎时才唯一定义。
    • 性能帮助:包括针对并行操作的多I/O线程,线程并发性,数据库检查点,成批插入处理等。
    • 其他目标特性:可能包括对地理空间操作的支持,对特定数据处理操作的安全限制等。

    目前流行的存储引擎特点:

    • MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
    • InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
    • BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
    • Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
    • Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
    • Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
    • Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
    • Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
    • Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。

    InnoDB和NDB和BDB都支持事务COMMIT or ROLLBACK,其中InnoDB还支持事务保存点.

    --创建表时指明存储引擎:

    CREATE TABLE TB3(

    ID INT NOT NULL,

    Name VARCHAR(20)

    )ENGINE='MYISAM'

     

    --修改表的存储引擎:

    ALTER TABLE TB3

    ENGINE='InnoDB'

     

  • 相关阅读:
    腾讯招聘爬虫
    中华人民行政部网站爬虫
    百度翻译爬虫
    easyui 对form扩展
    Anaconda 安装和使用
    MongoDB基础教程系列--目录结构
    MongoDB基础教程系列--第九篇 MongoDB 分片
    MongoDB基础教程系列--第八篇 MongoDB 副本集实现复制功能
    MongoDB基础教程系列--第七篇 MongoDB 聚合管道
    MongoDB基础教程系列--第六篇 MongoDB 索引
  • 原文地址:https://www.cnblogs.com/TeyGao/p/2818078.html
Copyright © 2020-2023  润新知