php - 每个用户有多个 SQL 表?

标签 php mysql sql

我有一个小文件托管网站,我试图将用户上传的文件存储在数据库中。我遇到的问题是我无法决定哪种方法更好:

  1. 将所有用户存储在一张表中
  2. 为每个用户创建一个新表。

我知道第二种方法会降低性能,但是会降低多少?我计划最终拥有 1000 多个用户。第一种方法的问题是将文件重新列出给用户。我应该采用什么方法?哪种方法最有效?

最佳答案

简短回答:

不。使用最简单的有效方法:单个表。

长答案:

当您的生产系统处于生产负载下时,您将知道什么样的扩展问题,然后您可以分析瓶颈在哪里,并根据实际用例而不是假设制定分片策略。

现在你只是猜测,而且你很可能会猜错。然后你就会陷入一个糟糕的数据库结构,你会发现无法撤消。

尽量不要将实际文件存储在 MySQL 数据库中,这几乎总是会导致可怕的灾难,而是将它们存储在文件系统上并在数据库中保留对它们的引用。如果您要管理大量文件、堆和大量文件,您可能需要查看文档存储数据库,例如 Riak来帮助解决这个问题。

关于php - 每个用户有多个 SQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21294815/

相关文章:

php - 如何使用 PHPUnit 测试 Web 服务?

php - 在 php 中连接到 Linux 上的 MS SQL Server

php - 如何使用dragula js动态拖放

mysql - 与 mysql 总和关联的日期范围在 Crystal 报表过滤器中变得无效

Mysql MIN() Max() 函数与 JOIN 和 GROUP BY

php - 将MySQL表与多维数组相关转换

python - python连接mysql数据库

mysql - 为什么 MySQL 没有按预期 ORDER?

mysql - 实现需要非常全面的 SQL 查询的任务的最佳实践

MySQL连接2个表并联合一列