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

PHPフォーラム-未読のディスカッション/トピック/投稿に対処する方法

    選択肢は多くありません。

    1. 各ユーザーがすべてのリーダースレッドにマークを付けます。

      • 短所:非常に活発なフォーラムに多数の行があります
      • 利点:すべてのユーザーは、投稿で読んだかどうかを知っています。
    2. 各ユーザーがすべての未読スレッドにマークを付けます。

      • 短所:多くのユーザーが非アクティブである場合、「未読」の行を含む多くのスペース
      • 解決策:有効期間のタイムスタンプを追加し、cronを使用して古いレコードを削除します
      • 利点:すべてのユーザーは、投稿で読んだかどうかを知っています。
    3. タイムスタンプを使用して、未読として表示するかどうかを判断します。

      • 短所:ユーザーが知らないのは実際の未読スレッドであり、マークは最後のログイン以降の「新しいtrheads」のみを示します
      • 利点:スペースを節約

    もう1つの方法は、ソリューションの混合です。つまり、

    1および3)スレッドがX日より古くなく、ユーザーに対して既読としてマークされた行がない場合、スレッドを「未読」として表示します。 「読み取り」行は、X日経過すると、何の影響も受けずに削除できます。

    利点

    • 未読スレッドを判別するために使用される間隔が短い

    短所

    • システムをクリーンに保つcronを作成します
    • ユーザーは、x日より古いスレッドを読んだかどうかわかりません。

    利点

    • すべてのユーザーは、どの「新しい投稿」が読んだかどうかを知っています。


    1. MySQLが正しく構成されていない理由:相対パスの安全でない使用

    2. SQLCMDを使用してSQLデータベースのメンテナンスタスクを自動化する方法

    3. MySQL LOAD DATA INFILE(小数点記号としてコンマを使用)

    4. PostgreSQLテーブルのIDのシーケンスをリセットする方法