我想为学习目的编写自己的论坛,我需要一些帮助来规划数据库结构。
我想完成以下任务:
- 我想在数据库中存储成员
- 每个用户都可以创建新话题
- 每个线程都可以被每个成员评论
我自己的方法是...
- 成员表
- 线程表
- 当用户创建新话题时,系统会动态创建新表 COMMENTS_THREAD_ID 并且与该话题关联的所有评论都将包含在该表中
为每个线程的评论创建单独的表是一种好的做法吗?如果站点变得流行并且每天会有数千个线程怎么办?您能否建议适合此类场景的结构?
谢谢
最佳答案
单个 SQL 表 Comment
怎么样,包含字段 id
、thread_id
、member_id
和 body
这些字段足以组织您的数据
我认为每次创建一个Thread
时创建一个新的SQL 表是一个昂贵的操作(即使MySQL 没有对数据库中的表的数量施加硬性限制),总的来说我认为 RDBMS 比其他任何东西都更以行为中心(添加新注释行而不是创建新表)
关于MYSQL数据库结构与设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23842946/