Ca a l'air ballot comme ça, mais.....

Pierrot_421 Messages postés 5 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 5 novembre 2006 - 3 août 2006 à 15:09
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 4 août 2006 à 13:17
c'est quoi selon les spécialistes de la chose, la meilleure méthode pour insérer par INSERT TO dans une table le  résultat d'une recherche effectuée via un formulaire de 12 tableaux, affichant six variables en réponse de résultats ( donc 12 * 6 = 72 )

--> une seule table pour les  72 champs
ou
 --> 12 tables de six champs.
Merci de vos avis !

14 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
3 août 2006 à 15:19
Salut, tu veux dire une seule requête pour 72 champs ?
Une requête sera plus rapide que 12.
à+
0
Pierrot_421 Messages postés 5 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 5 novembre 2006
3 août 2006 à 15:43
Oui, ensuite pour réinterroger, je ferais un lien cliquable sur la valeur du premier champ par exemple pour faire dégringoler tout le reste....
Et c'est effectivement la rapidité/légéreté du boulot pour le serveur que je cherchais, j'avais oublié de le préciser !!
Je te remercie
0
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
3 août 2006 à 16:01
Bonjour,
En effet, ca sera plus simple de gerer 1 table avec 73 colonnes que 12 tables de 7 colonnes (avec les indexes), car sinon tu devras faire beaucoup plus de requetes ou alors les compliquer (INNER JOINT, etc...)
Pour la charge serveur, ca me parait clair aussi que ce sera moins gourmand, mais pense juste, quand tu fais un select à ne pas utiliser :
SELECT *
mais :
SELECT champs1, champs2
sans quoi, là, tu auras de jolies pertes de performances (50 résultats * 72 champs * le nombre d'utilisateurs simultanés, ca peut ralentir un peu)

Le seul défaut, c'est si tu utilise phpmyadmin ou autre, ou là ce sera un peu plus long à faire des recherches manuellement.
Sinon, tu seras entièrement gagnant.

@+

PS: N'hesite pas à valider la réponse de Evangun
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 août 2006 à 16:22
Yop...,

quand on tâche d'optimiser, on ne s'arrête pas à 1 requête.
Tu vas en faire quoi, de ces champs ...?

Je te donne un exemple simple et bête :

j'ai sur mon site des utilisateurs avec leurs coordonnées.
Ils sont affiliés à 1 revendeur.
Chaque revendeur a 1 à n spécialité.

j'ai un formulaire que mon utilisateur remplit avec toutes ces infos...
Que faire ?
Une table utilisateur, avec tous les champs , y compris le revendeur, son nom, ses coordonnées, les spécialités...?
Oui mais moi, je veux aussi que mon utilisateur, sur le site, puisse consulter les revendeurs, voire chercher les utilisateurs qui ont tel ou tel revendeur, ou qui utilise telle ou telle spécialité (de part leurt revendeur).
Si j'ai 1 table...avec tous les champs, quand je fais mes SELECT pour la recherche, je me tape toute la table utilisateur, pour chercher LA spécialité ou LE revendeur auxquels ils sont affiliés.
Alors que si j'ai une table revendeur, une table spécialités, et une table de jointure revendeurs/spécialités, mes SELECT seront nettement plus rapides et efficaces.
Et je ne parle même pas des mises à jour...

C'est un exemple bateau hein, car là ça semble évident.
Mais quand même, réflêchis bien à toutes les implications...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 août 2006 à 17:51
Salut,

juste un truc qui m'a interpelé : "Une requête sera plus rapide que 12."

Pas forcément, tu peux avoir une seule requête très lente contre 12 qui au total sont plus rapides. C'est pas la quantité de requêtes qu'est importante, c'est leur qualité :)

Après une requête très rapide c'est toujours mieux que 12 requêtes rapides :)

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 août 2006 à 18:05
"Après une requête très rapide c'est toujours mieux que 12 requêtes rapides :)"

Dépend du delta entre "très rapide" et "rapide"... ;-)
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
3 août 2006 à 18:05
Oui, je parlais de la même requête coupées en 12 morceaux
0
Pierrot_421 Messages postés 5 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 5 novembre 2006
3 août 2006 à 18:54
Oui, intéressant ta réflexion !!


En fait moi il s'agit de composés d'un produit


Donc ce qui compte c'est le nom du produit,
Si je comprend bien ta suggestion, il vaudrait mieux que je stocke à part mes id_users avec le nom des produits qu'ils ont en charge, puisque c'est celà qu'ils auront comme lien cliquable ensuite. Donc c'est l'id_produit, qui ira chercher les composés ( les fameux 12 * 6 variables )


J'ai tout compris ?  aie aie aie !!!! lol !!!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 août 2006 à 19:26
"Dépend du delta entre "très rapide" et "rapide"... ;-)"

Si t'as une seule requête plus rapide que 12, tu vas pas en faire 12, ou alors y'a un problème quelque part ^^ (dans le code ?) Pourquoi ne pas faire une seule requête plus rapide et s'embêter avec 12 ?

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
josh666 Messages postés 81 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 1 octobre 2007 1
3 août 2006 à 20:34
C'est pas compliquer,

Tu divise une table en sous-table si , et seulement si,  un champ de la table est composé de plusiers élément possible mais devant etre tjrs de la meem syntaxe... ok comme sa c'Est pas clair.. je m'explique:

////////////////////////////////////////////////////////////////////////////////
// TABLE PRODUIT
////////////////////////////////////////////////////////////////////////////////
****************************
*  NOM  * CATÉGORIE * PRIX *
****************************
*  Banane *         1            *  1.99  *
****************************
*  Pomme*         1            *  0.99  *
****************************
* Carotte *         2            *  2.99  *
****************************

////////////////////////////////////////////////////////////////////////////////

// TABLE CATÉGORIE

////////////////////////////////////////////////////////////////////////////////

*********************

*  ID       *      NOM        *

**********************

*  1          *         Fruits       *

**********************

*  2          *     Légumes       * 

**********************

Bon , vous voyer le style... lol
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 août 2006 à 20:49
Bah ouais :)

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 août 2006 à 09:00
Antho -> j'avais mal placé le "très", lol, je l'avais lu avec les 12 requêtes, et pas LA requête...du coup, ma vanne estr caduque ;-)

Josh => bah ouais aussi lol. Sau que moi, j'utilise cat_id dans les deux tables, pour plus de clarté, mais ça reste juste une suggestion ;-)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 août 2006 à 12:55
Au pire tu fous un alias dans la requête :)

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 août 2006 à 13:17
Exactement!
0
Rejoignez-nous