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

Systém hodnocení v PHP a MySQL

Myslím, že udělat další tabulku "hlasovat" je lepší. Vztah mezi uživateli a hlasy je n až n, proto by měla být vytvořena nová tabulka. Mělo by to být něco takového:

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

Stálé pole lze použít k tomu, aby hlasy zůstaly po určité době, jako to dělá SO.
Další pole mohou být přidána podle požadovaných funkcí. Protože každý řádek zabere alespoň 16B, můžete mít až 250 milionů řádků tabulka před tabulkou používá 4 GB (limit fat32, pokud je na tabulku jeden archiv, což je případ MyISAM a InnoDB).
Také, jak upozorňuje Matthew Scharley v komentáři, nenačítat všechny hlasy najednou do paměti (jako načtení celé tabulky v sadě výsledků). K zúžení výsledků dotazu můžete vždy použít klauzuli LIMIT.



  1. Jak exportovat databázi MySQL do JSON?

  2. Nelze aktualizovat řádek v Sqlite v Androidu, ale nevyhazuje žádnou chybu

  3. Zkontrolujte omezení v SQL

  4. Vytvoření propojeného serveru ODBC bez konfigurace zdroje dat