Ouvrir et exécuter plusieurs requetes mysql en meme temps ?? [Résolu]

Signaler
Messages postés
31
Date d'inscription
jeudi 25 mars 2010
Statut
Membre
Dernière intervention
18 septembre 2010
-
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
-
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 !

Merci à vous ;)
A voir également:

3 réponses

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
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à ;)
Messages postés
31
Date d'inscription
jeudi 25 mars 2010
Statut
Membre
Dernière intervention
18 septembre 2010
1
Merci beaucoup, je vais pouvoir me lacher dans ce cas
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
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();
?>