存储引擎的核心功能

MYSQL支持数个存储引擎作为对不同表的类型的处理器。

 

mysql> SHOW ENGINES;

+------------+---------+--------------------------------------------------------

--------+

| Engine     | Support | Comment

        |

+------------+---------+--------------------------------------------------------

--------+

| MyISAM     | YES     | Default engine as of MySQL 3.23 with great performance

        |

| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tabl

es      |

| InnoDB     | DEFAULT | Supports transactions, row-level locking, and foreign k

eys     |

| BerkeleyDB | NO      | Supports transactions and page-level locking

        |

| BLACKHOLE  | NO      | /dev/null storage engine (anything you write to it disa

ppears) |

| EXAMPLE    | NO      | Example storage engine

        |

| ARCHIVE    | YES     | Archive storage engine

        |

| CSV        | NO      | CSV storage engine

        |

| ndbcluster | NO      | Clustered, fault-tolerant, memory-based tables

        |

| FEDERATED  | NO      | Federated MySQL storage engine

        |

| MRG_MYISAM | YES     | Collection of identical MyISAM tables

        |

| ISAM       | NO      | Obsolete storage engine

        |

+------------+---------+--------------------------------------------------------

--------+

12 rows in set (0.00 sec)

 

 

MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:

 

       MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

 

       例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。 这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。你可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息、如何检索这些信息以及你需要你的数据结合什么性能和功能的时候为你提供最大的灵活性。

 

      选择如何存储和检索你的数据的这种灵活性是MySQL为什么如此受欢迎的主要原因。其它数据库系统(包括大多数商业选择)仅支持一种类型的数据存储。遗憾的是,其它类型的数据库解决方案采取的“一个尺码满足一切需求”的方式意味着你要么就牺牲一些性能,要么你就用几个小时甚至几天的时间详细调整你的数据库。使用MySQL,我们仅需要修改我们使用的存储引擎就可以了。

 

默认存储引擎

 

   MYSQL的默认存储引擎为:MyISAM,除非我们显示的指定存储引擎。如下例:

 

mysql> CREATE TABLE mytable (id int, title char(20)) ENGINE = INNODB;

Query OK, 0 rows affected (0.83 sec)

 

         为了做出选择哪一个存储引擎的决定,我们首先需要考虑每一个存储引擎提供了哪些不同的核心功能。这种功能使我们能够把不同的存储引擎区别开来。我们一般把这些核心功能分为四类:支持的字段和数据类型、锁定类型、索引和处理。一些引擎具有能过促使你做出决定的独特的功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值