Jump to content

Optimiser les structures d'une table


windu.2b

Recommended Posts

Bonjour,

Je travaille actuellement sur un projet durant mon stage et je dois stocker des données calculées (récupérées et croisées préalablement à partir d'autres tables de la même base de données) dans une table (qui n'existe pas encore, donc je suis libre de la structurer comme je le veux).

Ma question est la suivante:

Sachant que j'ai dans les 200 données calculées à enregistrer, et ce pour chaque UL (unité laitière) que je dois traiter, et qu'il y a environ 8.000 à 10.000 UL à traiter, vaut-il mieux créer une table de 200 colonnes ( :francais: ) ou une table avec 2 colonnes (une pour le nom de la donnée, une pour la valeur) dans laquelle je stockerai indifféremment toutes ces 200 données, à moi ensuite de les récupérer selon les critères que je veux ?

Ceci entraîne en fait une question générale: qu'est-ce qui est le plus rapide ? lire des colonnes une par une ou parcourir toute une table (sachant qu'au final, elle contiendra plusieurs dizaines voire centaines de milliers d'enregistrements) ?

Link to comment
Share on other sites

Si tu écoutes les design pattern (ce qu'il vaut mieux faire ;)), chaque table ne doit contenir qu'un et un seul type d'objet que tu relies ensuite par des tables de liaison.

En clair :

Tu crées une table de jeux d'enregistrements (en définissant les données d'un jeu d'enregistrement), mappée par un IDEnregistrement

Tu crées une table avec l'ensemble de tes unités laitières, mappée par un IDUL

Tu crées une table de liaison, mappée par un IDLiaison, qui dit tel IDEnregistrement va avec tel IDUL. L'avantage, c'est de pouvoir gérer éventuellement des liaisons n-n.

Du coup, dans ton backend, n'oublie pas de coder les fonctions d'ajout et de suppression en cascade :francais:

LSP, le manchot à la 500° page sur 2000 du manuel d'installation de JES

Link to comment
Share on other sites

Oki, merci pour ses premières informations.

LSP, ce que tu me dis j'y ai pensé aussi, bien sûr. Mais tout ceci ne me dit pas ce qui serait le plus rapide... Parce que ce qui est le plus "propre", c'est évident! Mais comme c'est déjà bien dégueu leur truc :transpi:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...