Problème de requête trop lourde

Mammouth du PHP | 19672 Messages

08 nov. 2005, 17:35

Tu as accès à MySQL en ligne de commande éventuellement ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 88 Messages

08 nov. 2005, 17:37

Non plus hélas -_-'
PHP Lover "Plus je découvre PHP, plus je l'aime. Lui et moi c'est pour la vie !"

Mammouth du PHP | 983 Messages

08 nov. 2005, 17:43

Tu utilises le plugin quantum?

Mammouth du PHP | 19672 Messages

08 nov. 2005, 17:48

C'est quoi cette boite ? Tu as quoi comme accès au juste ? Difficile de travailler dans ces conditions là, je te plains.

Bon, la solution, reproduire à la main quelque chose du genre:

Code : Tout sélectionner

+----------------------------------+ | nom_table | +------------------------+---------+ |nom colonne | clé | +------------------------+---------+ |champ_1 | PK | <= clé primaire (automatiquement indexé) |champ_2 | FK | <= clé étrangère (indexée ?) |champ_3 | | <= autre champ (indexé ?) +------------------------+---------+
Là on pourra te donner des indications.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 88 Messages

08 nov. 2005, 17:51

Tu utilises le plugin quantum?
Oui tu connais *un sentiment de joie s'empare de moi* T_T <- pleure de joie. Enfin quelqu'un qui connait ce truc là. Oui j'ai donc le plugin Quantum.

@cyrano : Je travailles chez FT (France Télécom) et je dois utiliser les outils de la boite. Si je pouvais faire comme je fais chez moi y aurai déja longtemps que j'aurai EZPhP
PHP Lover "Plus je découvre PHP, plus je l'aime. Lui et moi c'est pour la vie !"

Mammouth du PHP | 983 Messages

08 nov. 2005, 18:36

Alors, pour exporter la structure de ta table, tu fais:
1 - Mets toi dans ta perspective Quantum
2 - Clic droit dans la structure (là ou i ly a la liste de tes bookmarks)> Exporter
3 - Choisis DDL (Database Definition Language), puis ton bookmark et enfin les tables que tu veux exporter.
4 - Ensuite tu spécifies ton fichier de sortie.
5 - Et tu fais un copier-coller de ce fichier ici.

De plus, tu peux consulter les index sur tes tables ainsi:
Dans la vue Query Editor, tape:

Code : Tout sélectionner

SHOW INDEX FROM ta_table
Puis executes, tu auras alors la liste des index définis pour cette table.

Eléphant du PHP | 88 Messages

09 nov. 2005, 10:36

@rami : Non je n'ai pas DDL (Database Definition Language), quand je clique sur export :s
PHP Lover "Plus je découvre PHP, plus je l'aime. Lui et moi c'est pour la vie !"

Mammouth du PHP | 983 Messages

09 nov. 2005, 11:03

OK, mais tu peux toujours exécuter :

Code : Tout sélectionner

SHOW INDEX FROM ta_table
Ca te permettra de savoir quels champs sont indexés.

As-tu essayé de mettre des index sur les clés étrangères de tes tables?

Eléphant du PHP | 88 Messages

09 nov. 2005, 12:34

J'ai pas de clef étrangère sur mes tables en tout cas je n'ai pas créer de FOREIGN KEY. Mais sinon j'ai reglé le problème de temps, j'ai changé le temps d'éxécution dans mon script php, je l'ai mis à 0 (illimité)

Maintenant j'aurai une autre question mais qui concerne la fusion de plusieurs tables temporaire, j'ai des tables temporaires 3 pour être exacte qui chacune stocke le résultat de mes requetes

tab_tmp1 [NOM_DDV,DOM_VENTE,CA_CUM]
tab_tmp2 [NOM_DDV,DOM_VENTE,CA_CUM1]
tab_tmp3 [NOM_DDV,DOM_VENTE,CA_AN]

et je voudrais fusionner ces tables dans ma table de stockage du résultat final qui serai :

CA_DEPARTEMENT [NOM_DDV,DOM_VENTE,CA_CUM,CA_CUM1,CA_AN]

est ce possible ?

PS: désolé mes connaissances en sql sont limitées -_-'
PHP Lover "Plus je découvre PHP, plus je l'aime. Lui et moi c'est pour la vie !"

Mammouth du PHP | 983 Messages

09 nov. 2005, 12:40

Quand je parle de clés étrangères, je parle des champs qui te servent à faire tes jointures entre table. Dans MySQL, on n'est pas obligé de spécifier de FOREIGN KEY, puisque le moteur MyISAM ne gère pas les contraintes d'intégrités.

Ca me paraît lourd de passer par des tables temporaires. Je ne veux pas paraître têtu, mais à mon avis, tu pourrais résoudre ton problème en mettant des index sur les champs.

Autrement; regarde du côté des requêtes INSERT ... SELECT ici

Eléphant du PHP | 88 Messages

10 nov. 2005, 15:08

Voila cela fonctionne, maintenant le problème serai de créé des procédure stockés mais je n'y arrive pas mais ça c'est le sujet d'un autre post :D
PHP Lover "Plus je découvre PHP, plus je l'aime. Lui et moi c'est pour la vie !"