如何选择合适的mysql存储引擎
非事务表的MyISAM管理。它提供了高速存储和检索,以及全文检索capabilities.myisam是所有MySQL的配置支持,它是默认的存储引擎,除非你配置MySQL默认使用一个引擎。
存储引擎提供了在内存中表的存储。合并存储引擎允许收集要处理相同的MyISAM表作为一个单独的表。和MyISAM一样,记忆和MERGE存储引擎处理非事务表,这两个引擎也在默认情况下,MySQL包括。
注意:内存存储引擎被正式确定为堆引擎。
在InnoDB和BDB存储引擎提供了交易安全table.bdb包含在MySQL最大二元分布,发表对操作系统的支持it.innodb也包含在所有MySQL 5.1二进制分布在默认情况下,你可以允许或禁止通过配置MySQL为任何你喜欢的引擎。
示例存储引擎是一个存根引擎,它做什么,您可以使用这个引擎来创建一个表,但是没有数据存储在其中或从中检索出来。这个引擎的目的是提供服务,MySQL源代码中的一个示例,它演示了如何开始编写一个新的存储引擎。
NDB集群的集群来实现分割的多表存储引擎的计算机上。它是提供在MySQL-Max 5.1二进制分发,存储引擎是目前仅支持Linux,Solaris,和Mac OS X的未来的MySQL的分布,我们要添加其他平台支持引擎,包括Windows。
归档引擎用于存储非索引,大量的数据非常小以覆盖存储。
CSV存储引擎数据以逗号分隔的格式存储在文本文件中。
黑洞的存储引擎接受而不是数据的存储和检索,总是返回一个空集。
联邦存储引擎到数据库中的远程数据。在MySQL 5.1中,它只使用MySQL,使用MySQL C客户机API。在将来的分发中,我们希望它使用其他驱动器或客户机连接方法连接到另一个数据源。
创建一个新表时,可以通过将一个引擎或类型选项添加到创建表语句,从而告诉MySQL要创建什么类型的表。
创建表的T(I型)= InnoDB引擎;
创建表T(i int)类型=内存;
虽然在MySQL 5.1中仍然支持类型,但是现在引擎是首选项。
你如何选择最适合你的存储引擎
下列存储引擎是最常用的:
MySQL存储引擎MyISAM插件默认情况下,它是一种最常用的存储引擎在Web、数据存储和其他应用程序。请注意,通过改变storage_engine配置变量,对MySQL服务器的默认存储引擎可以很容易地改变。
事务处理应用InnoDB,具有许多特点,包括酸处理的支持。
BDB:交易引擎可以取代InnoDB,支持提交、回滚等事务的特性。
-内存:所有数据存储在RAM中,需要快速查找引用和其他类似的数据环境,可以提供快速访问。
合并:让MySQL DBA或开发人员将一系列等价MyISAM表在一个合乎逻辑的方式结合在一起,并作为1个对象引用它们。它适用于大型数据库环境,如数据仓库。
该归档文件提供了大量很少引用的历史、归档或安全审计信息存储和检索的完美解决方案。
联邦:能够分离MySQL服务器链接,从多个物理服务器创建逻辑数据库,非常适合分布式环境或数据集市环境。
群集数据库引擎集群/ NDB:MySQL,特别适用于高性能的搜索应用程序的需求,这种搜索需求也需要有最高的正常工作时间和可用性。
其他:其他存储引擎包括CSV(逗号作为引用的数据库表文件(黑洞),在数据库应用程序的临时禁令,例如引擎(输入)和可提供的插件式存储引擎快速创建自定义帮助)。
记住,对于整个服务器或程序,您不必使用相同的存储引擎。对于程序中的每个表,可以使用不同的存储引擎,这是非常重要的。