簡體   English   中英

在sql db中存儲已讀文章的最佳方法是什么?

[英]What's the best way to store read articles in sql db?

我正在開發允許用戶閱讀文章的網站。 我想實現一種功能,該功能可以在用戶訪問文章時自動將其標記為已讀。 問題是我不知道如何將讀取的文章數據存儲在db中。 可能有成千上萬的文章和成千上萬的用戶。 在“已讀文章”聯接表中為每個文章/用戶存儲行似乎是一種低效的方式。 還有哪些其他選擇?

可能有成千上萬的文章和成千上萬的用戶。 在“已讀文章”聯接表中為每個文章/用戶存儲行似乎是一種低效的方式。

每對{user, article}對存儲一行的方案是正確的。 大量行使該方案效率低下的含意是不正確的:現代數據庫經過優化,可以非常有效地處理大量行。

此外,“成千上萬的文章和成千上萬的用戶”會轉換成很多行的含義也是不正確的:您將為用戶閱讀的每篇文章而不是每篇文章存儲一行,因此,您得到的行將比最壞情況的估計值短幾個數量級。

根據您的策略:

如果您為每個用戶存儲唯一的文章(請向我閱讀稍后的功能),則可以將狀態與文章一起存儲。

如果您擁有一組可以被任何用戶閱讀的文章,那么您可以正確地引入其他表格來存儲閱讀狀態。 我看不到這種方法有什么問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM