recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Problème d'optimisation des requêtes MySQL ?

sélectionnez count(*) comme agrégat à partir de `call_records` où (`CallType` = 'dialout' et `CalledNo` = '12345678910');

Comment optimiser cette requête ? Le principe est que l'index ne peut pas être créé, car il existe déjà plusieurs index dans cette table, ce qui peut entraîner le verrouillage de la table.

大家讲道理大家讲道理2752 Il y a quelques jours513

répondre à tous(2)je répondrai

  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:10:33

    S'agit-il de données chaudes ? Sinon, exécutez simplement un script régulièrement et enregistrez le décompte statistique dans un autre tableau statistique.
    Pour les données chaudes, voyez si l'index que vous avez construit auparavant peut être transformé en un index combiné car l'arbre B commence à gauche, si vous construisez un (a, b, c), a et a, b et a, b et c peuvent être utilisés, la fonction de requête au niveau de la couche de code fait attention à l'ordre des champs.

    répondre
    0
  • PHPz

    PHPz2017-05-16 13:10:33

    Réoptimisez l'index. Il y a trop d'index uniques, alors essayez de créer un index commun. Si ces statistiques ne nécessitent pas de performances en temps réel, utilisez md5 (instruction SQL) comme clé, utilisez le résultat comme valeur et stockez-le dans le cache (redis).

    répondre
    0
  • Annulerrépondre