在MySQL数据库设计中,有数百万个表和数百万行是常见的做法吗?

roo*_*ubu 5 mysql sql database database-design

我正在为即将推出的网络应用程序进行数据库设计,如果这种设计对于一个Web应用程序来说很有效,那么我很想在当前的网络应用程序中大量使用mysql.

1个DB

在DB中,数百万个表用于每个用户的功能,并且在每个表中,可能有数百万行.

虽然这个设计很有活力并且很好地扩展,但我想知道两件事.

  1. 这是当今Web应用程序中的常见设计吗?
  2. 如果查询数百万行,这将如何执行,时间明智.
  3. 如果数据库包含数百万个表,它如何执行?(再次,时间明智,这甚至可能吗?)
  4. 如果它在上述条件下表现良好,如果所有80,000个用户每天访问数据库20-30次,每天10-15分钟会话,它如何在剧烈负载下运行?
  5. 一般来说,这需要多少服务器空间(重申,数百万个表,每个表包含数百万行,10-15列填充文本)

任何帮助表示赞赏.

JNK*_*JNK 16

1 - 绝对不是.几乎所有你问过的人都会告诉你数以百万计的表是一个糟糕的主意.

2 - 数以百万计的ROWS很常见,所以很好.

3 - 可能非常糟糕,特别是如果查询是由认为可以拥有数百万个表的人编写的.这告诉我,这是一个不太了解数据库的人.

4 - 见#3

5 - 无法分辨.您将从额外的表中获得大量额外开销,因为它们都需要额外的元数据.所需空间将取决于索引以及表格的宽度以及许多其他因素.

简而言之,这是一个非常非常非常糟糕的想法,你不应该这样做.