Performance de ma table - PHP - Programmation
Marsh Posté le 04-05-2018 à 23:33:55
Bonjour,
Je ne suis pas certain de ce que tu veux faire mais je te laisse jeter un coup d'oeil à la commande ORDER BY en espérant que ça réponde à ton besoin.
Sinon pour effectuer des calculs tu peux aussi utiliser la commande GROUP BY.
Marsh Posté le 05-05-2018 à 06:10:07
Déjà, que ce soit le libellé du produit en clé étrangère de ta table journal est une mauvaise chose. Il faudrait que ce soit l'id du produit.
Ensuite tu peux tout faire avec une requête avec une jointure et un order by et dans la boucle de résultat, constituer tes tableaux (suffit d utiliser une variable qui va servir à comparer le produit courant du précédent)
Marsh Posté le 04-05-2018 à 17:40:24
Bonjour, tout le monde,
J’ai une table dénommée ‘’produits ‘’ dans laquelle j’enregistre tous les produits commercialisés par une boutique et qui comporte 02 colonnes :
id prdt
1 riz
2 farine de blé
3 tomate concentrée
4 semoule
5 huile
6 biscuit
et une autre table dénommée ‘’journal’ ’qui comporte 5 colonnes, chaque ligne contient les éléments d’un journal de stock de produits comme suit :
journal
id produit entree sortie
1 riz 2500 0
2 farine de blé 3000 0
3 tomate concentrée 1000 0
4 farine de blé 500 0
5 semoule 2000 0
6 riz 4000 0
7 huile 500 0
8 riz 0 1000
9 semoule 450 0
10 tomate concentrée 4000 0
11 biscuits 1200 0
Je voudrais parcourir la table ‘’journal’’ à l’aide de chaque produit qui se trouve dans la table ‘’produit’’, sélectionner l’ensemble des opérations qui concernent le produit en question dans la table ‘’journal’’ et ensuite classer les résultats obtenus dans des tableaux d’affichages pour chaque type de produits comme suit :
Tableau affichage riz
produit entrée sortie
riz 2500 0
riz 4000 0
riz 0 1000
Tableau farine de blé
produit entrée sortie
Farine de blé 3000 0
Farine de blé 500 0
Etc…
Pour parvenir à cet objectif jai essayé de lire la table avec une boucle ‘’while’’ a l’intérieur de laquelle j’introduis une requête ‘’select ‘’ afin de pouvoir y collecter les données qui devront figurer dans mes petits tableaux d’affichage. J’ai effectué cette technique elle marche mais ma table journal ne comporte qu’un petit nombre de lignes pour le moment. Maintenant je voudrais savoir lorsque que la table ‘’journal’’ comportera dans l’avenir plusieurs lignes (des centaines ou des milliers) est ce que cette méthode sera efficace, est ce qu’elle ne va pas ralentir l’exécution de mon code car j’ai appris dans plusieurs documentations que, introduire une requête dans une boucle while n’est pas conseillé.
Si la méthode que j’ai adoptée présente des risques de performance au fur et a mesure que les enregistrements de ma table augmentent dans le moyen et le long terme, quelle méthode alternative qui me mettrait à l’abris d’ennuis futurs me conseillez-vous .
Voici mon code :