mysql数据库实现中的单个大表或许多小表

时间:2016-07-22 06:08:51

标签: mysql

我正在构建一个数据库模式,我必须存储与用户关联的通知。我应该为每个用户创建单独的表,还是我应该在MySQL数据库中有一个单独的大表。 哪一个在时间和记忆方面更有效率。

对于单表,通知表的模式 是

Notification(NotificationID,UserId,Content,seen,..)

对于多个表,架构是

Notification__userId(NotificationID,Content,seen..)

一旦用户注册,将为每个用户创建。

2 个答案:

答案 0 :(得分:2)

使用单个表并设置正确的索引。

使用多个表会使数据处理变得更复杂,并导致应用程序中出现更多个别故障点(创建表,决定使用哪个表,奇怪的查询构建等)。

使用单个表可能会使查询的执行时间变慢,但是在正确设置索引时,您低估了数据库的扩展功能。

您可能需要查看此站点以获取有关可伸缩性的一些信息并了解索引:http://use-the-index-luke.com/sql/testing-scalability/data-volume

答案 1 :(得分:1)

U应使用一个表来存储使用userid的通知,这将有助于您保存每个用户的通知,甚至可以轻松获取数据