Bonjour à toutes et à tous,
Je coinces depuis plusieurs heures sur cette requête et j'ai peur de ne pas m'y connaître assez pour résoudre le problème.
Ci-dessous la requête que je souhaites executer, mais j'obtiens cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3MySQL a répondu: Documentation #1317 - Query execution was interrupted
J'ai simplifié au niveau du select * également, toujours le même soucis ^^ Donc le problème vient de mes jointures ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT * FROM `produit` LEFT JOIN sous_produit on sous_produit.id_produit = produit.id_produit JOIN produit_sous_rubrique ON produit_sous_rubrique.id_produit = produit.id_produit JOIN produit_photo ON produit_photo.id_produit = produit.id_produit JOIN prod_data_sous_rubriques ON prod_data_sous_rubriques.id_sous_rub = produit_sous_rubrique.id_sous_rub #Le reste on s'en fiche, car d'après mes test le problème est au niveau des jointures. Le bug subsiste toujours
Cette requête est ma requête de recherche de produit, donc en fonction de ma recherche je veux récupérer tous mes produits, les prix des mes produits (table sous_produit), les rubriques de mes produits.
J'ai vu la notion d'index donc je suppose que c'est par rapport aux clés primaires etc... Dans toutes mes tables j'ai créé la clé primaire et je m'en sert donc dans mes jointures, je suppose que c'est bon.
En tout cas je ne vois pas qu'est-ce qui cause la lenteur de cette requête.
Pour info :
1 produit = (1) sous_produit
1 produit = (n) produit_photo
1 produit = (n) produit_sous_rubrique
1 sous rubrique = (1) rubrique
1 rubrique = (n) sous_rubrique
Je vous remercie de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 -- -- Structure de la table `produit` -- CREATE TABLE IF NOT EXISTS `produit` ( `id_produit` int(11) NOT NULL AUTO_INCREMENT, `nom_prod` varchar(255) NOT NULL, `date_creation` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id_produit`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11652 ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 -- -- Structure de la table `produit_photo` -- CREATE TABLE IF NOT EXISTS `produit_photo` ( `id_produit_photo` int(11) NOT NULL AUTO_INCREMENT, `id_produit` int(11) NOT NULL, `nom_photo` varchar(255) NOT NULL, `id_couleur` int(11) NOT NULL, PRIMARY KEY (`id_produit_photo`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16882 ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 -- -- Structure de la table `prod_data_rubriques` -- CREATE TABLE IF NOT EXISTS `prod_data_rubriques` ( `id_rub` int(11) NOT NULL AUTO_INCREMENT, `nom` varchar(80) NOT NULL, PRIMARY KEY (`id_rub`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=85 ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 -- -- Structure de la table `prod_data_sous_rubriques` -- CREATE TABLE IF NOT EXISTS `prod_data_sous_rubriques` ( `id_sous_rub` int(11) NOT NULL AUTO_INCREMENT, `id_rub` int(11) NOT NULL, `nom` varchar(80) NOT NULL, PRIMARY KEY (`id_sous_rub`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1311 ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 -- -- Structure de la table `sous_produit` -- CREATE TABLE IF NOT EXISTS `sous_produit` ( `id_coul_prod` int(11) NOT NULL AUTO_INCREMENT, `id_produit` int(11) NOT NULL, `qte_1` int(11) DEFAULT NULL, `prix_achat_1` decimal(20,5) DEFAULT NULL, PRIMARY KEY (`id_coul_prod`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=' ' AUTO_INCREMENT=41597 ;
Partager