我的博客上有评论表。
comment
- id (PK)
- post_id (FK)
- user_id (FK)
- comment
我应该分成3个表并按照这样做吗?
comment
- id (PK)
- comment
user_comment
- comment_id (PK, FK)
- user_id (PK, FK)
post_comment
- post_id (PK, FK)
- comment_id (PK, FK)
这会是一个更好的设计吗?欢迎任何其他建议。
答案 0 :(得分:4)
您的原创设计非常完美;它模拟了实际发生的事情。
此外,避免架构膨胀是件好事。
答案 1 :(得分:2)
我认为第一个设计要好得多;据我所知,拆分该表不会增加任何值,并且只会强制数据库引擎为每个查询使用一个或两个额外的连接。
如果您对性能感到担忧,可以在评论表上创建索引,以便有效地为每个用户和每个帖子选择评论。
答案 2 :(得分:0)
create table photo_comments(
commentID int not null AUTO_INCREMENT PRIMARY KEY,
userID int not null,
photoId int not null,
comment_data varchar(200)
)
你不能用这个吗?