MySQL中小型查找表的最佳引擎

Zby*_*nek 6 mysql innodb myisam storage-engine database-recommendation

我有以下问题:我正在设计带有几十个小型查找表的 Web 应用程序:这些表通常包含三列(ID、名称、描述)和几行(大多数少于 50,最大约为 450)。

这些查找表预计很少更改(它们来自标准,几年更改一次)并且仅用于:

  • html select 中的填充选项
  • 加入报告中的其他记录

SELECT99% 的情况下,这些表上只会有语句,但会有相当多的语句。

我想知道,使用哪种数据库引擎最有效?

以下是我的考虑:

记忆

  • 亲:非常快
  • con:如果服务器崩溃,所有数据都丢失,需要重新创建
  • con:不支持外键

压缩的 MyISAM

  • 亲:快
  • con:不支持外键

数据库

  • 亲:外键支持

我想问的是,使用与InnoDB不同的东西是否会有显着的优势- 性能方面

谢谢,兹比内克

Rol*_*DBA 2

我在 2011 年 8 月回答了一个类似的问题:哪种 DBMS 适合超快速读取和简单的数据结构?

既然你问的是MySQL以及哪个存储引擎。老实说,这很难说,因为在 SELECT 方面,MyISAM 很少能胜过 InnoDB。

这是我过去关于这一争议的一些帖子

您现在可能会问:为什么我会偏爱 MyISAM 而不是 InnoDB?

看看这个图表(由 Percona 首席技术官 Vadim Tkachenko 创建)

InnoDB架构

MyISAM 将缓存索引,并且您的表将有 2 个索引(id 上的主键和 Name 索引)。另一方面,InnoDB 有太多的移动部件需要容纳,特别是当 InnoDB 缓冲池必须定期加载和释放 16K 页时。

公平地说,你应该做一个实验。

这将为您的数据集的存储引擎选择提供最佳评估。

试一试 !!!


归档时间:

查看次数:

691 次

最近记录:

10 年,3 月 前