我正在构建一个数据库模式,我必须存储与用户关联的通知。我应该为每个用户创建单独的表,还是我应该在MySQL数据库中有一个单独的大表。 哪一个在时间和记忆方面更有效率。
对于单表,通知表的模式 是
Notification(NotificationID,UserId,Content,seen,..)
对于多个表,架构是
Notification__userId(NotificationID,Content,seen..)
一旦用户注册,将为每个用户创建。
答案 0 :(得分:2)
使用单个表并设置正确的索引。
使用多个表会使数据处理变得更复杂,并导致应用程序中出现更多个别故障点(创建表,决定使用哪个表,奇怪的查询构建等)。
使用单个表可能会使查询的执行时间变慢,但是在正确设置索引时,您低估了数据库的扩展功能。
您可能需要查看此站点以获取有关可伸缩性的一些信息并了解索引:http://use-the-index-luke.com/sql/testing-scalability/data-volume
答案 1 :(得分:1)
U应使用一个表来存储使用userid的通知,这将有助于您保存每个用户的通知,甚至可以轻松获取数据