1 Grosse requete OU plusieurs petite ? [Mysql] - SQL/NoSQL - Programmation
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.
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
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.
Marsh Posté le 23-01-2006 à 09:49:29
ffluff a écrit : Bonjour |
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.
Marsh Posté le 23-01-2006 à 09:56:08
Sans hésiter, réponse 1 : refiler tout le boulot au DBMS.
Marsh Posté le 22-01-2006 à 21:37:41
Bonjour
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 ?