Mysql 三种数据库引擎的选择问题
admin
2023-04-22 21:23:24
0

我们的在创建数据库的时候,一些小型的项目不会太注意数据库的引擎,一些大型项目会考虑数据库的的引擎的问题,直接影响后面的使用。

 MyISAM:MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作,其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMCHK工具和用来恢复浪费空间的 MyISAMPACK工具。MYISAM强调了快速读取操作,这可能就是为什么MySQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。MyISAM格式的一个重要缺陷就是不能在表损坏后恢复数据。

InnoDB:InnoDB数据库引擎都是造就MySQL灵活性的技术的直接产品,这项技术就是MYSQL+API。在使用MYSQL的时候,你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理(transaction process)也不支持外来键。尽管要比ISAM和 MyISAM引擎慢很多,但是InnoDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要被迫使用后两个引擎中的一个了。

MEMORY: MEMORY是MySQL中一类特殊的存储引擎。它使用存储在内存中的内容来创建表,而且数据全部放在内存中。这些特性与前面的两个很不同。每个基于MEMORY存储引擎的表实际对应一个磁盘文件。该文件的文件名与表名相同,类型为frm类型。该文件中只存储表的结构。而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率。值得注意的是,服务器需要有足够的内存来维持MEMORY存储引擎的表的使用。如果不需要了,可以释放内存,甚至删除不需要的表。MEMORY默认使用哈希索引。速度比使用B型树索引快。当然如果你想用B型树索引,可以在创建索引时指定。注意,MEMORY用到的很少,因为它是把数据存到内存中,如果内存出现异常就会影响数据。如果重启或者关机,所有数据都会消失。因此,基于MEMORY的表的生命周期很短,一般是一次性的。

根据自己的实际情况选择合适的数据库引擎。
文章来自http://www.huthon.com

相关内容

热门资讯

今日重大发现“wepoker到... 家人们!今天小编来为大家解答wepoker透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪...
玩家最新攻略“新绍兴麻将到底是... 玩家最新攻略“新绍兴麻将到底是不是挂?”(确实真的有挂)您好,新绍兴麻将这个游戏其实有挂的,确实是有...
终于了解“微乐保皇开挂器?”(... 终于了解“微乐保皇开挂器?”(太坑了原来有挂)您好,微乐保皇这个游戏其实有挂的,确实是有挂的,需要了...
我来教教您“新上游炸/金/花到... 我来教教您“新上游炸/金/花到底是不是挂?”(太坑了原来有挂)您好,新上游炸/金/花这个游戏其实有挂...
玩家最新攻略“新西游开挂神器?... 网上科普关于“新西游有没有挂”话题很是火热,小编也是针对新西游作*弊开挂的方法以及开挂对应的知识点,...
终于懂了“永盈到底是不是挂?”... 网上科普关于“永盈有没有挂”话题很是火热,小编也是针对永盈作*弊开挂的方法以及开挂对应的知识点,寻找...
今日重磅消息“情怀莆仙怎么装挂... 今日重磅消息“情怀莆仙怎么装挂?”(太坑了果然有挂)您好,情怀莆仙这个游戏其实有挂的,确实是有挂的,...
【第一财经】“乐禧棋牌有挂吗?... 网上科普关于“乐禧棋牌有没有挂”话题很是火热,小编也是针对乐禧棋牌作*弊开挂的方法以及开挂对应的知识...
最新引进“欢聚水鱼虎步龙行可以... 家人们!今天小编来为大家解答欢聚水鱼虎步龙行透视挂怎么安装这个问题咨询软件客服徽9784099的挂在...
今日重磅消息“天府棋牌开挂器?... 您好:天府棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...