假设它是一篇很长的文章(比如10万字),我需要编写一个PHP文件来显示文章的第1,2或38页,
display.php?page=38
但是每个页面的单词数量会随着时间的推移而变化(例如,如果每页500字,但是下个月,我们可以轻松地将其更改为每页300字).将长文章和商店分成数据库的好方法是什么?
附:如果我们想要显示500个单词但包括整个段落,则设计可能会更复杂.也就是说,如果我们已经显示了单词480,但段落还剩下100个单词,那么即使它超过500个字的限制,也要显示那100个单词. (然后,下一页不应该再显示那100个单词).
解决方法:
我会通过在保存它们时分解chuks上的文章来做到这一点.保存脚本会使用您设计的任何规则拆分文章,并将每个块保存到表中,如下所示:
CREATE TABLE article_chunks (
article_id int not null,
chunk_no int not null,
body text
}
然后,当您加载文章的页面时:
$sql = "select body from article_chunks where article_id = "
.$article_id." and chunk_no=".$page;
每当您想要更改将文章拆分为页面的逻辑时,您运行的脚本会将所有块拉到一起并重新拆分它们:
UPDPATE:给出建议我认为你的应用程序是读密集型而不是写密集型,这意味着文章的阅读频率高于写入
标签:php,database,database-design,schema
来源: https://codeday.me/bug/20190610/1214830.html