Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sistema de classificação em PHP e MySQL


Acho que fazer outra mesa "votar" é melhor. A relação entre usuários e votos é de n para n, portanto, uma nova tabela deve ser criada. Deve ser algo assim:
question id (int) | user id (int) | permanent (bool) | timestamp (datetime)

O campo permanente pode ser usado para fazer com que os votos permaneçam após um determinado tempo, assim como o SO.
Outros campos podem ser adicionados de acordo com as características desejadas. table antes da tabela usa 4GB (limite fat32 se houver um arquivo por tabela, que é o caso de MyISAM e InnoDB).
Além disso, como Matthew Scharley aponta em um comentário, não carregue todos os votos de uma vez na memória (como buscar toda a tabela em um conjunto de resultados). Você sempre pode usar a cláusula LIMIT para restringir os resultados da consulta.