Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Obsługa nieprzeczytanych postów w PHP / MySQL

Tabela zawierająca wszystkie identyfikatory użytkowników i identyfikatory post_id to zły pomysł, ponieważ rośnie wykładniczo. Wyobraź sobie, że Twoje rozwiązanie na forum rozrosło się do miliona postów i 50 000 użytkowników. Teraz masz 50 miliardów rekordów. To będzie problem.

Sztuczka polega na użyciu tabeli, jak powiedziałeś, ale zawiera ona tylko posty, które zostały przeczytane od tego logowania, posty, które zostały opublikowane między ostatnim logowaniem a tym logowaniem.

Wszystkie posty napisane przed ostatnim logowaniem są uważane za przeczytane.

IE, ostatnio logowałem się 4.03.2011, a potem loguję się dzisiaj. Wszystkie posty napisane przed 03.04.2011 są uważane za przeczytane (nie są dla mnie nowe). Wszystkie posty od 4/3/2011 do teraz są nieprzeczytane, chyba że są widoczne w tabeli przeczytania. Tabela odczytu jest opróżniana za każdym razem, gdy się loguję.

W ten sposób Twoja tabela przeczytanych postów nigdy nie powinna zawierać więcej niż kilkuset rekordów dla każdego członka.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak naprawić ten błąd mysql_fetch_assoc() oczekuje, że parametr 1 będzie zasobem, podanym w wartości logicznej?

  2. Jak mogę rzutować int na bit w MySQL 5.1?

  3. Node.js synchronicznie zapętla się lub iteruje po asynchronicznych instrukcjach

  4. Co to jest ten operator <=> w MySQL?

  5. Mysql :wiele stołów czy jeden duży stół?