Developpement avec SGBD => jointure ou non ?

Developpement avec SGBD => jointure ou non ? - Algo - Programmation

Marsh Posté le 24-07-2006 à 18:50:54    

Voila je propose un petit débat.
 
Pensez vous lors des développement qui interrogent des données ici de bases qu'il vaut mieux limiter les jointures ou au contraire en abuser ?
 
Quels sont les avantages inconvenients d'apres vous en terme de performance mais aussi integrité maintien robustesse etc ?
 
 
Exemple
une table dossier rattachée à des clients par un code client.
 
Le mieux pour vous :
Select dr.num_doss, cli.nom_cl
from dossiers dr, clients cli
where dr.num_cli = cli.id_cli
 
et ainsi boucler sur un tableau pour afficher les résultats
 
Ou  
premier_tableau = données issues d'un select num_doss, num_cli from dossiers
deuxie_tableau = données issues du select id_cli, nom_cli from clients
 
Ensuite boucler sur premier_tableau et mettre le deuxieme tableau en relation.

Reply

Marsh Posté le 24-07-2006 à 18:50:54   

Reply

Marsh Posté le 01-08-2006 à 08:59:46    

c'est koi le débat ??? :heink:

Reply

Marsh Posté le 01-08-2006 à 09:01:37    

Sebastien a écrit :

Voila je propose un petit débat.
 
Pensez vous lors des développement qui interrogent des données ici de bases qu'il vaut mieux limiter les jointures ou au contraire en abuser ?
 
Quels sont les avantages inconvenients d'apres vous en terme de performance mais aussi integrité maintien robustesse etc ?
 
 
Exemple
une table dossier rattachée à des clients par un code client.
 
Le mieux pour vous :
Select dr.num_doss, cli.nom_cl
from dossiers dr, clients cli
where dr.num_cli = cli.id_cli
 
et ainsi boucler sur un tableau pour afficher les résultats
 
Ou  
premier_tableau = données issues d'un select num_doss, num_cli from dossiers
deuxie_tableau = données issues du select id_cli, nom_cli from clients
 
Ensuite boucler sur premier_tableau et mettre le deuxieme tableau en relation.


 :ouch:  
y a pas de debat, le SGBD est bien plus performant que du code pour faire ca
la question ne se pose meme pas


Message édité par betsamee le 01-08-2006 à 09:02:02
Reply

Marsh Posté le 01-08-2006 à 10:07:51    

C t pour confirmation, car bon j'ai eu des retours dans l'autre sens, et ca m'a fait un peu bondir, j'ai douté de moi quelques instants et je voulais entendre des avis d'inconnus :)

Reply

Marsh Posté le 01-08-2006 à 10:21:56    

Sebastien a écrit :

C t pour confirmation, car bon j'ai eu des retours dans l'autre sens, et ca m'a fait un peu bondir, j'ai douté de moi quelques instants et je voulais entendre des avis d'inconnus :)


j aimerais bien voir la teneur de l argumentation de ceux qui soutiennent le contraire

Reply

Marsh Posté le 01-08-2006 à 10:28:02    

clair...

Reply

Marsh Posté le 01-08-2006 à 10:31:37    

betsamee a écrit :

j aimerais bien voir la teneur de l argumentation de ceux qui soutiennent le contraire


Justement on va avoir une réunion dans une semaine, et pour la preparer quelques personnes avaient envoyées des préconisations sur le dev, et y a eu ca :/
Donc j'en serais plus mardi prochain, sauf que bon à part le bon sens, j'ai moi meme tres peu d'argumentation de mon coté, si vous en avez je suis preneur :) [code dev plus facile à reprendre, integritité / sécurité des données, consolidation quasiment impossible à faire de manière claire]

Reply

Marsh Posté le 01-08-2006 à 10:33:19    

as tu besoin d'argumenter pour dire qu un moteur de voiture fonctionne mieux qu'un type qui la pousse ?
je pense que le debat est de la meme teneur

Reply

Marsh Posté le 01-08-2006 à 10:38:28    

d'un cote tu parcours des structures indexées, de l'autre tu fait n parcours linéaire sur des tableaux  

Reply

Marsh Posté le 01-08-2006 à 11:17:31    

betsamee a écrit :

as tu besoin d'argumenter pour dire qu un moteur de voiture fonctionne mieux qu'un type qui la pousse ?
je pense que le debat est de la meme teneur


Ben ouais justement, c'est la le problème, je ne comprends meme pas qu'ils ont pu penser à ca, donc je prefere quand meme me proteger on sait jamais !

Reply

Sujets relatifs:

Leave a Replay

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