您现在的位置是:首页 >

支持外键的存储引擎是什么 如何选择合适的MySQL存储引擎

火烧 2021-09-25 13:27:33 1039
如何选择合适的MySQL存储引擎   MySQL有多种存储引擎  MyISAM I oDB MERGE MEMORY HEAP BDB BerkeleyDB EXAMPLE FEDERATED ARC

如何选择合适的MySQL存储引擎  

  MySQL有多种存储引擎

  MyISAM InnoDB MERGE MEMORY(HEAP) BDB(BerkeleyDB) EXAMPLE FEDERATED ARCHIVE CSV BLACKHOLE

  MySQL支持数个存储引擎作为对不同表的类型的处理器 MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎

  ◆ MyISAM管理非事务表 它提供高速存储和检索 以及全文搜索能力 MyISAM在所有MySQL配置里被支持 它是默认的存储引擎 除非你配置MySQL默认使用另外一个引擎

  ◆ MEMORY存储引擎提供 内存中 表 MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表 就像MyISAM一样 MEMORY和MERGE存储引擎处理非事务表 这两个引擎也都被默认包含在MySQL中

  注释 MEMORY存储引擎正式地被确定为HEAP引擎

  ◆ InnoDB和BDB存储引擎提供事务安全表 BDB被包含在为支持它的操作系统发布的MySQL Max二进制分发版里 InnoDB也默认被包括在所 有MySQL 二进制分发版里 你可以按照喜好通过配置MySQL来允许或禁止任一引擎

  ◆ EXAMPLE存储引擎是一个 存根 引擎 它不做什么 你可以用这个引擎创建表 但没有数据被存储于其中或从其中检索 这个引擎的目的是服务 在 MySQL源代码中的一个例子 它演示说明如何开始编写新存储引擎 同样 它的主要兴趣是对开发者

  ◆ NDB Cluster是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎 它在MySQL Max 二进制分发版里提供 这个存储引擎当前只被Linux Solaris 和Mac OS X 支持 在未来的MySQL分发版中 我们想要添加其它平台对这个引擎的支持 包括Windows

  ◆ ARCHIVE存储引擎被用来无索引地 非常小地覆蓋存储的大量数据

  ◆ CSV存储引擎把数据以逗号分隔的格式存储在文本文件中

  ◆ BLACKHOLE存储引擎接受但不存储数据 并且检索总是返回一个空集

  ◆ FEDERATED存储引擎把数据存在远程数据库中 在MySQL 中 它只和MySQL一起工作 使用MySQL C Client API 在未来的分发版中 我们想要让它使用其它驱动器或客户端连接方法连接到另外的数据源

  当你创建一个新表的时候 你可以通过添加一个ENGINE 或TYPE 选项到CREATE TABLE语句来告诉MySQL你要创建什么类型的表

  CREATE TABLE t (i INT) ENGINE = INNODB;

  CREATE TABLE t (i INT) TYPE = MEMORY;

  虽然TYPE仍然在MySQL 中被支持 现在ENGINE是首选的术语

支持外键的存储引擎是什么 如何选择合适的MySQL存储引擎

  如何选择最适合你的存储引擎呢?

  下述存储引擎是最常用的

  ◆ MyISAM 默认的MySQL插件式存储引擎 它是在Web 数据仓储和其他应用环境下最常使用的存储引擎之一 注意 通过更改STORAGE_ENGINE配置变量 能够方便地更改MySQL服务器的默认存储引擎

  ◆ InnoDB 用于事务处理应用程序 具有众多特性 包括ACID事务支持

  ◆ BDB 可替代InnoDB的事务引擎 支持MIT ROLLBACK和其他事务特性

  ◆ Memory 将所有数据保存在RAM中 在需要快速查找引用和其他类似数据的环境下 可提供极快的访问

  ◆ Merge 允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起 并作为 个对象引用它们 对于诸如数据仓储等VLDB环境十分适合

  ◆ Archive 为大量很少引用的历史 归档 或安全审计信息的存储和检索提供了完美的解决方案

  ◆ Federated 能够将多个分离的MySQL服务器链接起来 从多个物理服务器创建一个逻辑数据库 十分适合于分布式环境或数据集市环境

  ◆ Cluster/NDB MySQL的簇式数据库引擎 尤其适合于具有高性能查找要求的应用程序 这类查找需求还要求具有最高的正常工作时间和可用性

  ◆ Other 其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件) Blackhole(用于临时禁止对数据库的应用程序输入) 以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)

lishixinzhi/Article/program/MySQL/201311/29637  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码