23-12-2014, 01:45 PM
(23-12-2014, 01:16 PM)Max72 a écrit : L'accès à ces tables est-il aussi rapide qu'une table qui possède 100 enregistrements ?
Tout dépends de la requête.
Si c'est pour sortir 10 lignes pas de soucis. Les SGBD ont un système d'index qui permet de retrouver rapidement une ligne dans une table.
Si c'est pour sortir plusieurs millions de lignes tout en faisant des jointures multiples, le temps explose, mais c'est pas étonnant étant donné que le résultat peut alors faire plusieurs Go. Cela dit vu que c'est pas du web ni des requêtes qu'on fait souvent, on s'en fout un peu que ça prenne du temps, d'autant que certains script qui traitent ensuite ces données mettent plusieurs jours/semaines.
(23-12-2014, 01:16 PM)Max72 a écrit : Je vais creuser ça, et voir comment je peux gérer les productions en cours sans que chaque bâtiment ai un id propre à lui.Si chaque bâtiment peut "recevoir des ordres" individuellement, le plus simple serait d'avoir une ligne par bâtiment.
Cependant si ça ne concerne que certains bâtiments (par exemple, uniquement les bâtiments de production, et pas les habitations), avoir une ligne par bâtiment pourrait conduire à avoir des lignes identiques. Du coup je ferais un truc du genre :
Code :
table batiments :
PK id_type_de_batiment
PK id_planete
nombre
table productions :
Pk id_production
id_type_de_batiment
id_planete
type_de_production (par exemple)
date_de_fin_de_production (par exemple)
Quand un joueur lance une production, tu compare le nombre de lignes qu'il y a dans la table productions au nombre indiqué dans la table batiments pour savoir combien de bâtiments ne font rien.