Index MySQL - combien sont-ils assez?

Je suis en train de peaufiner mon serveur MySQL donc je vérifier mes paramètres, l'analyse de lent-journal de la requête, et de simplifier mes questions si possible.

Parfois, il est assez si je suis indexation correctement, parfois pas. J'ai lu quelque part (merci de me corriger si c'est de la bêtise) que de plus en plus d'indices que j'ai besoin de faire le même effet, comme si je n'ai pas d'index.

Comment de nombreux indices sont assez? Vous pouvez dire qu'il dépend d'une centaine de facteurs, mais je suis curieux de savoir comment puis-je nettoyer mon mysql-slow.log assez pour réduire la charge du serveur.

En outre, j'ai vu quelques "intéressant" entrées de journal comme ceci:

# Query_time: 0  Lock_time: 0  Rows_sent: 22  Rows_examined: 44
SELECT * FROM `categories` ORDER BY `orderid` ASC;

La table en question contient exactement 22 lignes, index mis en orderid. Pourquoi est-ce une requête en montrant dans le journal, après tout? Pourquoi examiner 44 lignes si elle ne contient que 22?

  • Je suppose qu'il ne sorte, donc c'est en quelque sorte examine la même ligne plusieurs fois 😡
  • Ce qui est retourné pour EXPLIQUER SÉLECTIONNEZ * à PARTIR de categories COMMANDE PAR orderid de l'ASC;
  • Bemrose: Si je corriger les retours Supplémentaires: à l'Aide de filesort. C'est peut-être le problème?
InformationsquelleAutor fabrik | 2009-08-14