sql >> Database >  >> RDS >> Mysql

Beoordelingssysteem in PHP en MySQL

Ik denk dat het beter is om een ​​andere tafel te "stemmen". De relatie tussen gebruikers en stemmen is n tot n, daarom moet een nieuwe tabel worden gemaakt. Het zou zoiets als dit moeten zijn:

question id (int) | user id (int) | permanent (bool) | timestamp (datetime)

Een permanent veld kan worden gebruikt om stemmen na een bepaalde tijd te laten blijven staan, zoals SO doet. tabel voordat de tabel 4 GB gebruikt (fat32-limiet als er één archief per tabel is, wat het geval is voor MyISAM en InnoDB).
Ook, zoals Matthew Scharley opmerkt in een opmerking, laad niet alle stemmen tegelijk in het geheugen (zoals het ophalen van alle tabellen in een resultatenset). U kunt altijd de LIMIT-clausule gebruiken om uw zoekopdrachtresultaten te verfijnen.



  1. MySQL-query, 3 tabellen, t1-t2 en update vervolgens t3. Hoe kan ik dit het meest efficiënt doen?

  2. PostgreSQL incrementele back-up en point-in-time herstel

  3. Laravel 4:Hoe pas ik een WHERE-voorwaarde toe op alle queries van een welsprekende klasse?

  4. Spotlight Cloud instellen en efficiënt problemen oplossen met SQL Server