0

我怀疑我的几个表选择哪个数据库引擎。我已经研究了几篇文章、书籍和类似的数据库建设,但仍然不确定。

网站特色——年轻音乐制作人与他人分享作品(音乐)的地方。正如你我的猜测,上传和下载音乐时会有很多查询。

这是我的数据库中的两个主要表:“用户” - 27 列和“文件” - 22 列

这是我的问题,对于这两个表,哪个引擎会更好 MyISAM 与 InnoDB?

MyISAM 锁定整个表,所以如果我理解正确,当有人上传文件时 MySQL 锁定表以写入文件数据,然后如果同时有人请求下载甚至其他文件,这个请求必须等到 Mysql 解锁表,对吗?

4

1 回答 1

4

正如您自己所说,MyISAM 表使用表级锁定。因此,如果流量很高,InnoDB 将是正确的选择。使用 MyISAM,一次只能有一个用户进行交互。您必须确保您的硬件能够跟上这些流量,以避免被超载。

这表明你需要一个支持行级锁定的存储引擎,即 InnoDB。

于 2013-07-24T16:28:26.287 回答