La base de donn�es de MySQL soutenant ce blog consommait la quantit� massive d'unit� centrale de traitement, qui m�nent effectivement pour situer descendant 3-4 fois cette semaine. J'ai connu un coupable �vident. Cependant la r�alit� a diff�r�.

J'ai su que pendant quelque temps j'ai eu une question enorme, qui n'a pas �t� cach�e, et suis susceptible de contribuer � la charge de serveur de MySQL :
cat_ID CHOISI, cat_name COMME cat�gorie, compte (*) EN TANT QUE ��compte��
De $wpdb->categories, $wpdb->post2cat, $wpdb->posts
L� O� cat_ID = category_id et
category_nicename ! = ��titre�� et identification = post_id et
le post_status = ���ditent��
GROUPE PAR le cat_name
AYANT le compte (*) > 10
ORDRE PAR le ��compte�� DESC
LIMITE 0, 10

Je ne pourrais pas voir une mani�re �vidente d'optimiser ceci sans limiter la fonctionnalit�. Au cas o� vous wondeering substituant le category_nicename ! = le ��titre�� avec le cat_ID = 37 n'aide pas.

J'ai �galement pens� � employer la notation lente de question pour indiquer exactement le probl�me. Heureusement aucun de eux n'a �t� exig�. J'ai obtenu un email de l'appui �lev� amical de charge de WestHost. Jonny a d�couvert en courant � plusieurs reprises la ��EXPOSITION COMPL�TEMENT PROCESSLIST ; �� qui le coupable �tait :

CHOISISSEZ le cat_ID distinct, cat_name
Des st_categories, st_post2cat
ORDRE PAR le category_nicename ;

Ceci m'a pris par surprise. Prises de question de Th n'importe o� entre 3-5 secondes. Dans les charges �lev�es avec des demandes simultan�es multiples qui est assez bon pour surcharger le serveur. La solution �tait trompeusement simple :

CHOISISSEZ le cat_ID distinct, cat_name
Des st_categories
ORDRE PAR le category_nicename ;

La question originale �tait superflue et inutile. � l'origine j'ai eu l'intention de montrer seulement des cat�gories avec un ou plusieurs poteaux dans eux. De quelque mani�re que quelque part en bas de la ligne j'ai oubli� d'ajouter O� clause. Aujourd'hui toutes mes cat�gories ont des poteaux. Tellement simplement l'�limination de st_post2cat du de la liste est assez bonne pour r�duire le temps d'ex�cution � 0.01 seconde.

Les le�ons � emporter sont :

  • Ne devinez jamais les questions de goulot ; trouvez-le.
  • L'outil simple comme ��la PLEINE LISTE DE PROCESSUS d'EXPOSITION�� est souvent aussi bon que d�finitif, pourtant analyser plus dur l'outil comme la notation lente de question.
  • Avoir le bon appui de votre fournisseur d'accueil de Web ne blesse pas non plus