sql >> データベース >  >> RDS >> Mysql

PHP/MySQLでの未読投稿の処理

    すべてのuser_idsとpost_idsを保持するテーブルは、指数関数的に大きくなるため、お勧めできません。フォーラムソリューションが100万件の投稿と50,000人のユーザーに成長したと想像してみてください。これで500億件のレコードがあります。それは問題になるでしょう。

    秘訣は、あなたが言ったようにテーブルを使用することですが、最後のログインからこのログインまでの間に投稿された投稿のうち、このログイン以降に読み取られた投稿のみを保持します。

    最後のログインより前に行われたすべての投稿は既読と見なされます。

    IE、私は最後に2011年4月3日にログインし、それから今日ログインします。 2011年4月3日より前に行われたすべての投稿は、既読と見なされます(私にとっては新しいものではありません)。 2011年4月3日から現在までのすべての投稿は、読み取りテーブルに表示されない限り、未読です。ログインするたびに、読み取りテーブルがフラッシュされます。

    このように、既読の投稿テーブルには、メンバーごとに数百を超えるレコードが含まれることはありません。



    1. Oracle関数の例(戻り値)

    2. MySQL:トランザクションとテーブルのロック

    3. JavaSpringJPAページネーション複数のページがある場合は機能しません

    4. 供給と需要のマッチング—ソリューション、パート1