[RESOLU] Requète parfois "lente" parfois instantanée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Requète parfois "lente" parfois instantanée

Re: Requète parfois "lente" parfois instantanée

par Couin » 01 oct. 2019, 15:21

Super, merci encore une fois :)

Re: Requète parfois "lente" parfois instantanée

par @rthur » 01 oct. 2019, 15:06

Petite question, comment savez vous sur quelle colonne l'index doit être mis ?
Sur celui sur lequel tu fais tes jointures ou des WHERE réguliers.
Voici une page qui explique bien cela :
https://sql.sh/cours/index

Re: Requète parfois "lente" parfois instantanée

par Couin » 01 oct. 2019, 13:54

Hello,

Merci pour vos réponses.

C'était effectivement une nouvelle fois une histoire d'index.

Petite question, comment savez vous sur quelle colonne l'index doit être mis ?

Merkouin :)

Re: Requète parfois "lente" parfois instantanée

par @rthur » 30 sept. 2019, 22:49

+1, vérifie tes index
Et teste tes requêtes dans phpmyadmin pour voir si unitairement elles sont longues ou pas

Re: Requète parfois "lente" parfois instantanée

par Saian » 30 sept. 2019, 16:41

Salut, pas de raison que ce soit particulièrement long du moment que tu as bien un index sur blabax_messages.userid.

Requète parfois "lente" parfois instantanée

par Couin » 30 sept. 2019, 15:22

Couin Couiiinnnn ! :D

Une requête tapant sur 2 tables d'un tchat, pour récupérer les infos des comptes membres : Nom du membre, date et IP d'inscription, email, et nombre de messages.
Via Javascript/AJAX, je change l'ordre des résultats suivant sur quel entête de colonne je clique.

Les 4 premières infos sont directement lisibles dans la table blabax_users , le nombre de message est compté dans la table blabax_messages :

Code : Tout sélectionner

SELECT blabax_users.id, blabax_users.name, blabax_users.email, blabax_users.ipaddr, blabax_users.timestamp, (SELECT COUNT(id)FROM blabax_messages WHERE blabax_messages.userid = blabax_users.id) AS nb_mess FROM blabax_users ORDER BY blabax_users.name ASC
Voilà, des fois les résultats s'affichent directement, des fois il faut un moment avant que ca sorte.

A priori c’est le comptage du nombre de messages de chaque membre qui est long car quand je ne mets pas cette partie ca sort tout le temps rapidement.

Je pense que je dois faire une erreur quelque par car le tchat a moins de 28000 messages, a une 50aine de membres, et une dizaine seulement ont plus de 1000 messages.

Si vous avez un tuyau :D

Merki
Couin