[Mysql] 1 Grosse requete OU plusieurs petite ?

1 Grosse requete OU plusieurs petite ? [Mysql] - SQL/NoSQL - Programmation

Marsh Posté le 22-01-2006 à 21:37:41    

Bonjour :hello:  
 
 
Je voudrais savoir, il vaut mieux (en terme de rapidité)  
- faire une requete rassemble le plus d'info possible et derriere un algo complex pour trier le tout  
- Plein de petite requete avec derriere un algo de traitement assez simple ?
 
Exemple :
Table A:
 id | nom  
 1 | toto1
 2 | toto2
 3 | toto3
Table B:
id | nom |parent_id
 4 | stoto1| 1
 5 | stoto2| 1
 6 | stoto3| 3
 7 | stoto4| 2
 
1°) Select a.nom, b.nom from tableA as a, tableB as b WHERE b.parent_id=a.id
 
Ou alors faire  
2°) select a.nom from tableA as a
tant que resultat :
 -> select b.nom from tableB where b.parent_id=resultat.id
 
 
Sachant que j'aimerai un résultat du style :
toto1
 -> stoto1
 -> stoto2
toto2
 -> stoto4
toto3
 -> stoto3
 
 
Vous comprennez que dans le 1°) le traitement va etre plus complexe (sans pour autant être trés dur) mais ce n'est qu'un exemple, et dans mon logiciel j'ai 4-5 table avec condition dans la requete et tout => 1 requete mais requete plus complexe et traitement plus complexe aussi.
 
Alors que dans le 2°) le code est plus lisible, l'algorithme plus simple, les requetes plus simple mais il ya beaucoup de requetes SQL :x
 
 
 
Donc pour faire simple, il vaut mieux peu de requetes trés complexes avec un traitement complexe, ou beaucoup de petite requete avec un traitement simple ?

Reply

Marsh Posté le 22-01-2006 à 21:37:41   

Reply

Marsh Posté le 22-01-2006 à 22:30:07    

1 La connexion à la bd est l'opération qui coute généralement le plus. D'office, ça limite au max le nombre de requete.
2 Une requete sql est plus facile à lire pour quelqu'un autre qu'un bidouillage php perso
3 C'est le boulot du sgbd de manipuler les données, à priori il serait présomptieux de prétendre faire mieux que lui avec un script php.  


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 22-01-2006 à 22:38:16    

Pour le 1 et le 2 je comprends trés bien pour le 3 je comprends pas ce que tu veux dire :x

Reply

Marsh Posté le 22-01-2006 à 22:44:43    

Bein je veux dire qu'à priori, mysql est optimisé pour toute les opérations standards, donc il s'en sortira mieux que toi dans la plupart des cas.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 23-01-2006 à 01:06:24    

Je me doute :)

Reply

Marsh Posté le 23-01-2006 à 09:49:29    

ffluff a écrit :

Bonjour :hello:  
 
 
....
 
 
 
Donc pour faire simple, il vaut mieux peu de requetes trés complexes avec un traitement complexe, ou beaucoup de petite requete avec un traitement simple ?


 
 
Il n'y a aucune requete compliquée dans ton exemple. ;) Ne pas jouer les apprentis sorciers avec le SGBD. Il s'en sortira beaucoup mieux dans 99% des cas.


---------------
MZP est de retour
Reply

Marsh Posté le 23-01-2006 à 09:56:08    

Sans hésiter, réponse 1 : refiler tout le boulot au DBMS.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed