BenamourJr
Messages postés31Date d'inscriptionjeudi 25 mars 2010StatutMembreDernière intervention18 septembre 2010
-
6 sept. 2010 à 19:14
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 2013
-
6 sept. 2010 à 23:21
Hello tout le monde,
Je voudrais savoir si c'est mal d'ouvrir plusieurs requetes mysql en meme temps, de les traiter puis seulement de toutes les fermer, comme par exemple dans ce cas-ci :
<?php
$req_article_presse = $bdd->query('SELECT titre, url FROM article_presse ORDER BY id_article_presse DESC LIMIT 0, 10');
$req_analyse_externe = $bdd->query('SELECT titre, url FROM analyse_externe ORDER BY id_analyse_externe DESC LIMIT 0, 10');
$req_documentaire = $bdd->query('SELECT titre, url FROM documentaire ORDER BY id_documentaire DESC LIMIT 0, 10');
// ici je traite les trois requetes afin d'afficher les données sur ma page
$req_article_presse->closeCursor();
$req_analyse_externe->closeCursor();
$req_documentaire->closeCursor();
?>
Ou est-ce qu'il est préférable de traiter les requetes une par une ? En ouvrir une, la traiter, la fermer, en ouvrir une autre,... Et si c'est le cas, pourquoi ?
J'aurais plus simple de concevoir un code clair dans le premier cas, mais si ca pose problème je préfère le savoir avant !
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 6 sept. 2010 à 20:22
Salut,
Dans l'absolu, il n'y a aucune contre-indication.
Par contre, ça implique plus de ressources utilisées en même temps, mais je ne pense pas que ça représente vraiment beaucoup.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 6 sept. 2010 à 23:21
Salut,
Vu l'exemple que tu donne un simple UNION te permettrais d'en avoir une seule et ainsi éviter un triple traitement. Exemple :
<?php
$result = $bdd->query('SELECT titre, url FROM article_presse ORDER BY id_article_presse DESC LIMIT 0, 10
UNION SELECT titre, url FROM analyse_externe ORDER BY id_analyse_externe DESC LIMIT 0, 10
UNION SELECT titre, url FROM documentaire ORDER BY id_documentaire DESC LIMIT 0, 10');
// Traitement
$result->closeCursor();
?>