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

mysql optimisation - Comment créer un index à l'aide d'une requête floue MySQL et trier par?

Par exemple, il existe une instruction mysql comme celle-ci :

select * from city where city_name like '%hf%' order by created_at;

Comment créer un index pour une telle instruction SQL ? Si vous souhaitez créer un index composite, utilisez :

key(created_at,city_name)

Puisquecreated_at est devant, il dégénère en key(created_at) selon le principe de correspondance le plus à gauche de l'index.

key(city_name,created_at)

Cela ne fonctionnera certainement pas. La précédente était une requête floue, et cet index composite a dégénéré en clé (ville). Dans ce cas, pouvons-nous créer une seule colonne d'index pour résoudre le problème ?
S'il vous plaît dites-moi.

.
高洛峰高洛峰2656 Il y a quelques jours900

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

  • 仅有的幸福

    仅有的幸福2017-06-14 10:52:40

    % avant et après ne sont pas indexés, et il n'y a pas de problème de dégradation de l'index. Soit vous modifiez le SQL pour qu'il corresponde au préfixe, soit vous ajoutez un index de texte intégral (ne convient pas aux chaînes courtes. De plus, pour ces données fondamentalement inchangées, le). l'application peut être insérée dans le moteur de recherche et son segmenteur de mots peut être utilisé pour rechercher

    répondre
    0
  • Annulerrépondre