sql >> Database >  >> RDS >> Mysql

PHP-forums - hoe om te gaan met ongelezen discussies / onderwerpen / berichten

Er is niet veel keuze.

  1. markeer elke lezerthread door elke gebruiker.

    • Nadelen:veel rijen in zeer actieve forums
    • Voordelen:elke gebruiker weet dat een bericht heeft gelezen of niet.
  2. markeer elke ongelezen thread door elke gebruiker.

    • Nadelen:veel ruimte met "ongelezen" rijen als er inactiviteit is van veel gebruikers
    • Oplossingen:voeg een tijdstempel voor het leven toe en verwijder oude records met een cron
    • Voordelen:elke gebruiker weet dat een bericht heeft gelezen of niet.
  3. gebruik tijdstempels om te bepalen of het als ongelezen moet worden weergegeven.

    • Nadelen:de gebruikers weten het niet met de echte ongelezen threads, de markeringen tonen alleen de "nieuwe trheads" sinds de laatste login
    • Voordeel:bespaar ruimte

Het andere alternatief is het mengen van oplossingen, dat wil zeggen

1 en 3) tonen thread als "ongelezen" als ze niet ouder zijn dan X dagen en er geen rij is gemarkeerd als gelezen voor de gebruiker. De "gelezen" rijen kunnen worden verwijderd als ze X dag ouder zijn zonder iets te veranderen.

Voordelen

  • minder tussenruimte gebruikt om ongelezen discussies te bepalen

Nadelen

  • maak een cron die het systeem schoon houdt
  • Gebruikers weten niet of ze discussies lezen die ouder zijn dan x dagen.

Voordelen

  • Elke gebruiker weet welke "nieuwe berichten" wel of niet hebben gelezen.


  1. Retourneer alleen numerieke waarden in MariaDB

  2. Mijn Select SUM-query retourneert null. Het zou 0 . moeten retourneren

  3. Hoe Oracle een tabelinstructie te laten maken in SQL*Plus

  4. Hoe informatie te krijgen over compileerfouten in Oracle/TOAD