0

我们来看两张表,例如表 Post和表User
Post,列user_id是外键。

Post
-id
-user_id
-post

User
-userID
-username

如果我们想获取海报的用户名,我们必须使用join查询并从User表中获取它。

Post我们在表中添加额外的列来存储海报的用户名以简化 SQL 查询不是更容易吗?在这种情况下,Post表将具有user_idusername列(username列是多余的),但这将消除join捕获海报用户名的查询。

最好的选择是什么,将用户名存储在Post表中与否

4

2 回答 2

1

创建视图是一种选择:并且我们需要查询该视图。然而,msql 中的视图在性能方面并没有像以前那样提供那么多好处。

可能只是运行连接就可以了。根据您最终将存储的数据量,您可能需要考虑其他提高性能的方法,例如分区表等 - 但这是为了下线

于 2012-05-17T14:40:14.633 回答
0

向数据库添加冗余数据不是一个好的选择。

如果您确实必须简化您的选择查询,请为该案例创建一个视图。这样,数据就在一个地方,您不需要每次都加入。但是一个简单的连接实际上并没有什么大不了的。

于 2012-05-17T14:35:43.123 回答