|
fliaigre 916
| Posté : 11-09-2013 19:33
Bonjour,
Voici le mail que je viens de recevoir d'infomaniak :
Cher client,
Il semble que certaines requêtes SQL de votre site pharmechange.com ne soient
pas suffisamment optimisées et entraînent une surconsommation de ressources
sur le serveur MySQL.
En l'occurrence, le serveur indique un total de 720 secondes pour seulement 1
requêtes. Le temps d'exécution semble trop important et les causes peuvent
être multiples:
- il manque un ou plusieurs indexes sur les tables utilisées dans la/les
requête/s
- la requête est mal écrite et examine un nombre de lignes incohérent
- le type des champs utilisés dans les tables sont inappropriés (varchar au
lieu de int, etc.)
- etc.
Dans le fichier log :
SELECT u.uid, f.forum_id, p.topic_id, p.post_id, u.u name, p.post_time, t.topic_title, f.forum_name, f.forum_typ e, f.forum_pass, f.arbre FROM posts p, users  ;u, forums f, forumtopics t WHERE ( (p.post_ text LIKE '%1%' or strcmp(soundex(p.post_text), sounde x('1'))=0)) AND f.forum_type!='5' AND f.forum_type!='7'&nbs p;AND f.forum_type!='9' AND p.topic_id = t .topic_id AND p.forum_id = f.forum_id AND p.poste r_id = u.uid AND t.topic_status!='2' ORDER BY&nbs p;p.post_id and sleep(4) DESC limit 0,100;
Quelqu'un peut t'il m'expliquer?
Merci |  Profil www Citation
|
|
fliaigre 916
| Posté : 11-09-2013 19:36
L'entête :
# Query_time: 720 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
use mabase;
J'ai de temps en temps une requête qui semble bugger comme ça.
|  Profil www Citation
|
|
fliaigre 916
| Posté : 13-09-2013 21:31
Personne?
A priori ça vient de searchbb.php
Mais pourquoi cette requête est elle si longue à exécuter?
Mon site est en REvolution 10.02 |  Profil www Citation
|
|
colonelwog 1995
| Posté : 13-09-2013 23:47
peut être à cause du trop plein de ta base à chercher dans les tables trop remplies ...vérifie la taille de ta base ... |  Profil E-mail www Citation
|
|
developpeur 24581
| Posté : 15-09-2013 15:27
Dans searchbb il n'y a aucun sleep ??? - la requête ressemble effectivement. En fait de mémoire je n’utilise jamais sleep ?
|  Profil E-mail www Citation
|
|
fliaigre 916
| Posté : 16-09-2013 13:45
Il est possible que ma base soit assez lourde mais, il n'y a pas de solution pour limiter la recherche en durée? C'est quoi sleep?
Et c'est quoi %1% dans WHERE ( (p.post_ text LIKE '%1%' ?
Et que dois je dire à Infomaniak? |  Profil www Citation
|
|
developpeur 24581
| Posté : 16-09-2013 21:35
C'est équivalent à LIKE '*1*' - soit tous ce qui contient 1 (* avant et * après)
Le sleep est fait pour 'endormir' la requête pendant 4 secondes mais cela n'a pas de sens pour une recherche. J'ai vérifier - NPDS REvolution n'utilise pas de Sleep ???
Du peut reprendre un searchbb d'origine pour voir ? |  Profil E-mail www Citation
|
|
fliaigre 916
| Posté : 16-09-2013 22:10
Excuse moi tu vas me trouver bouché mais tu entends quoi par "d'origine" parce que je n'y ai pas touché. |  Profil www Citation
|
|
developpeur 24581
| Posté : 21-09-2013 14:43
de base ya pas de d'instruction sleep dans NPDS - si je regarde ton extrait de fichier log ... ya un sleep
==> J'en déduis que soit le fichier à été modifié ... soit ton hébergeur rajoute des trucs dans les requêtes ... |  Profil E-mail www Citation
|
|
Jireck 8472
| |
fliaigre 916
| Posté : 22-09-2013 08:50
Si je fais une recherche sur le mot sleep dans mon fichier searchbb.php je ne trouve rien.
Est il possible de lancer ce type de requëtes directement dans l'url?
%1% sont-ce les caractères envoyés par l'utilisateur?
Merci à vous deux. |  Profil www Citation
|
|
developpeur 24581
| Posté : 22-09-2013 22:07
non impossible de lancer cette requête via l'URL
%1% = l'utilisateur cherche tous ce qui contient 1
Le sleep doit être rajouter par ton hébergeur ... ce qui est une mauvaise idée car son impact est toujours ... bizarre (même google dis la même chose) ...
|  Profil E-mail www Citation
|
|