Requête SQL fait ramer le serveur
12 messages
• Page 1 sur 1
-

cloacking - WRInaute impliqué

- Messages: 722
- Inscription: 20 Oct 2004
Requête SQL fait ramer le serveur
Bonsoir,
Voyez vous un problème dans la requête ci dessous car lorsque je l'exécute, ça rame énormèment ?
Voyez vous un problème dans la requête ci dessous car lorsque je l'exécute, ça rame énormèment ?
- Code: Tout sélectionner
SELECT * FROM questions
INNER JOIN amis ON (amis.num_membre = $_SESSION[membre]
OR amis.num_ami = $_SESSION[membre])
AND (amis.num_membre = questions.num_membre
OR amis.num_ami = questions.num_membre)
WHERE questions.num_membre != $_SESSION[membre]
ORDER BY questions.num_question DESC LIMIT 0,8
-

cloacking - WRInaute impliqué

- Messages: 722
- Inscription: 20 Oct 2004
Re: Requête SQL fait ramer le serveur
Cette requête est appelé sur la page d'accueil et fait ramer la page au chargement 
Du coup, pour pas que ça rame je simplifie en faisant
SELECT * FROM questions ORDER BY num_question DESC LIMIT 0,8
Et là forcèment, le chargement est rapide mais je n'obtiens pas le but recherché
Du coup, pour pas que ça rame je simplifie en faisant
SELECT * FROM questions ORDER BY num_question DESC LIMIT 0,8
Et là forcèment, le chargement est rapide mais je n'obtiens pas le but recherché
- ayor
- WRInaute discret

- Messages: 214
- Inscription: 29 Oct 2008
Re: Requête SQL fait ramer le serveur
cloacking a écrit:Bonsoir,
Voyez vous un problème dans la requête ci dessous car lorsque je l'exécute, ça rame énormèment ?
- Code: Tout sélectionner
SELECT * FROM questions
INNER JOIN amis ON (amis.num_membre = $_SESSION[membre]
OR amis.num_ami = $_SESSION[membre])
AND (amis.num_membre = questions.num_membre
OR amis.num_ami = questions.num_membre)
WHERE questions.num_membre != $_SESSION[membre]
ORDER BY questions.num_question DESC LIMIT 0,8
tu pourrais pas simplifier ton inner join... en revoyant un peu ton modele de bases de données et en simpliant le coup du num_membre et num_ami ! parce que un OR dans la jointure ca plombe tout !
sinon essaye ca dejà :
- Code: Tout sélectionner
SELECT * FROM questions
INNER JOIN amis amis1 ON amis1.num_membre = questions.num_membre
INNER JOIN amis amis2 ON amis2.num_ami = questions.num_membre
WHERE questions.num_membre != $_SESSION[membre]
AND (amis1.num_membre = $_SESSION[membre]
OR amis2.num_ami = $_SESSION[membre])
ORDER BY questions.num_question DESC LIMIT 0,8
- ayor
- WRInaute discret

- Messages: 214
- Inscription: 29 Oct 2008
Re: Requête SQL fait ramer le serveur
Borower a écrit:Je penses que si tu crées une vue de ta requette, et tu effectue un select * dessus, cela sera plus rapide.
Après je ne suis pas sur à 100%
le problème des vues c'est qu'elles sont dynamiques, donc calculées dynamiquement et donc tout aussi lentes... tu y gagneras peut-être quelque chose, mais ce sera peanuts...
-

Borower - WRInaute passionné

- Messages: 2151
- Inscription: 18 Avr 2005
Re: Requête SQL fait ramer le serveur
ayor a écrit:Borower a écrit:Je penses que si tu crées une vue de ta requette, et tu effectue un select * dessus, cela sera plus rapide.
Après je ne suis pas sur à 100%
le problème des vues c'est qu'elles sont dynamiques, donc calculées dynamiquement et donc tout aussi lentes... tu y gagneras peut-être quelque chose, mais ce sera peanuts...
Quand on fait un select sur une vue, le SGBD recalcul les résultats de la vue a chaque fois ou pas ?
Peut on lui spécifier un cache ?
12 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Google API : guide de développement de l'API Google - 20-09-2002
- Informations sur l'infrastructure technique de Google - 01-11-2004
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Comment créer une page web en PHP - 04-08-2008
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006 - 11-08-2006
- Google indexe le Flash - 28-04-2004
- Les différents systèmes de mise en cache des données - 16-08-2010
- Analyser la classe C de l'adresse IP
Cet outil vous permet de vérifier si plusieurs sites sont hébergés sur la même classe C (adresse IP du serveur). - Test HTTP header
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


