sql >> Databáze >  >> RDS >> Mysql

PHP fóra - jak se vyrovnat s nepřečtenými diskuzemi / tématy / příspěvky

Není mnoho možností.

  1. označte každé čtenářské vlákno každým uživatelem.

    • Nevýhody:mnoho řádků ve velmi aktivních fórech
    • Výhody:Každý uživatel ví, že příspěvek přečetl nebo ne.
  2. označte každé nepřečtené vlákno každým uživatelem.

    • Nevýhody:spousta místa s „nepřečtenými“ řádky v případě nečinnosti velkého množství uživatelů
    • Řešení:přidejte doživotní časové razítko a smažte staré záznamy pomocí cronu
    • Výhody:Každý uživatel ví, že příspěvek přečetl nebo ne.
  3. pomocí časových razítek určete, zda se má zobrazit jako nepřečtené nebo ne.

    • Nevýhody:Uživatelé, kteří neznají, jsou skutečná nepřečtená vlákna, značky zobrazují pouze "nové trheady" od posledního přihlášení
    • Výhoda:Úspora místa

Druhou alternativou je míchání roztoků, tedy

1 a 3) zobrazit vlákno jako „nepřečtené“, pokud není starší než X dní a není pro uživatele označen řádek jako přečtený. „Přečtené“ řádky lze smazat, když jsou X dní starší, aniž by to cokoliv ovlivnilo.

Výhody

  • menší mezera použitá k určení nepřečtených vláken

Nevýhody

  • vytvořte cron, který udržuje systém čistý
  • Uživatelé nevědí, zda čtou vlákna starší než x dní.

Výhody

  • Každý uživatel ví, které „nové příspěvky“ si přečetl nebo ne.


  1. Časový limit dotazu z webové aplikace vyprší, ale z manažerského studia běží v pořádku

  2. PDO::bindParam ve smyčce foreach, všechny hodnoty jsou nastaveny jako stejné?

  3. Jaký je rozdíl mezi 'YYYY' a 'RRRR' v Oracle SQL

  4. MySQL Vyberte nejnovější řádek specifické hodnoty