作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个网站,多个用户可以在其中注册和发布新闻文章,但我想知道是否所有文章都应该放在一个表中,或者每个用户是否应该拥有自己的表。我猜第一个选项将是最简单的(也可能是最好的),但是对于一个表来说,多少个帖子太多了?我的意思是,如果所有文章都相当长,那么当使用 PHP 提取数据时,网站什么时候开始变慢?
此外,与我的第一个问题类似,如果每个用户可以为其新闻配置文件设置多个类别,那么所有类别都应该放在一个表中吗:
table_categories:id、category_name、belongs_to(user_id)
或者,是否应该为每个用户分配一个单独的类别表?
最佳答案
在我看来,您需要 5 个表,每个表用于类别、帖子和用户,以及 2 个表来存储用户类别和帖子类别之间可能的(多对多)关系。
category - category_id, category_name, description
user - user_id, user_name, user_details
post - post_id, user_id, text
user_category_mapping - user_id, category_id
post_category_mapping - post_id, category_id
<小时/>
编辑
如果您只想每个帖子有一个类别,则以下四个表就足够了
category - category_id, category_name, description
user - user_id, user_name, user_details
post - post_id, user_id, text, category_id
user_category_mapping - user_id, category_id
同样,如果您想实现子类别功能,您可以如下更改类别表
category - category_id, category_name, description, parent_category_id
关于mysql - 一张或多张表供多个用户使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24971821/
我是一名优秀的程序员,十分优秀!