use*_*767 4 php mysql database database-design
我有一个独特的情况。我网站的用户可以提交文章供其他用户审阅,但是他们可以按年龄和国家/地区限制谁可以审阅这些文章。我的问题是,我认为不应该有 250 条记录(链接到文章的每个国家/地区 1 条记录),而是以 JSON 格式将所有 250 个国家/地区(或他们希望其他用户可见的任何国家/地区)存储在文本字段中数据库。这样我每篇文章只需要一条记录。不知道性能会不会受到很大影响?该网站将处理 1-200 万用户,提交审阅的文章数量也相当大。唯一要做的“处理”是将每个用户的国家/地区存储在数据库中,并且将根据文章的国家/地区数组进行检查,以查看是否允许该用户查看该文章。
你们有什么感想?我是否过度认为每篇文章 250 条记录很多?
我认为将数据存储在查找表中是完全可以接受的。如果将来发生变化,它会给您更多的自由,并且只要您很好地对表进行索引,性能就不会受到太大影响。
Mysql 可以轻松处理数十亿条记录的数据。是的,您需要确保照顾数据完整性 - 但是向查找表添加列与更改存储在每个记录中的对象突然之间似乎容易得多。
只需确保您正确保存数据 - 就像您没有重复不必重复的信息一样。将国家/地区保留在一张表中,并在引用它的查找表中保留一个简单的 ID。