Page 1 sur 1

Minimiser le nombre de requêtes SQL ?

Posté : 29 mars 2010, 14:49
par jcdenton
Bonjour à tous,

J'aimerais afficher dans un tableau HTML des résultats mensuels récupérés dans une base de données (dans une table contenant nom_item,date_item,chiffre_item)
------ jan| fév | mar
item1 -1 -|- 7 -|- 4
item2 -2 -|- 5 -|- 3
item3 -6 -|- 6 -|- 4
item4 -8 -|- 8 -|- 2
etc...

Quelle est la méthode la plus optimisé pour faire cela ?

1/ Faire un seul SELECT en sélectionnant toutes les informations de ma table, puis utiliser des boucles et des array en PHP pour réorganiser les résultats et les afficher ?

2/ Faire une boucle sur un SELECT qui récupèrera toutes les infos par nom d'item donc autant de SELECT que d'items et afficher les résultats au fur et à mesure en PHP ?

Faut-il minimiser le nombre de requêtes faites à la BDD ou est-ce un détail négligeable ?

Merci pour votre aide !

Re: Minimiser le nombre de requêtes SQL ?

Posté : 29 mars 2010, 14:54
par Genova
Dans ton cas de figure préfère la sélection générale d'informations sur ta table (donc premier cas). En spécifiant les champs que tu veux récupérer bien entendu (sans utiliser * donc).

Il peut être intéressant d'utiliser parfois plusieurs petites requêtes plutôt qu'une énorme, mais c'est dans les cas à base de jointures multiples ou de sous requêtes généralement. Mais plus important que le nombre de requête, ce qui est important c'est l'optimisation de ces dernières, notamment en plaçant judicieusement les clefs primaires.