Maison  >  Article  >  base de données  >  Voici quelques options pour un titre attrayant basé sur des questions, mettant l'accent sur le problème et la solution : * **Comment optimiser les requêtes MySQL LIKE \'%string%\' dans InnoDB ?** (Direct et simple) * **Dans

Voici quelques options pour un titre attrayant basé sur des questions, mettant l'accent sur le problème et la solution : * **Comment optimiser les requêtes MySQL LIKE \'%string%\' dans InnoDB ?** (Direct et simple) * **Dans

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 09:24:02280parcourir

Here are a few options for an engaging question-based title, emphasizing the problem and solution:

* **How to Optimize MySQL LIKE '%string%' Queries in InnoDB?** (Direct and straightforward)
* **InnoDB's LIKE '%string%' Performance: Can Fulltext Ind

Optimisation des requêtes MySQL LIKE '%string%' dans InnoDB

Dans un scénario avec une table contenant une colonne de mots-clés et un moteur de stockage InnoDB, optimisation des requêtes utilisant le LIKE Le modèle '%string%' peut être un défi.

Description du problème

Au départ, un simple index a été ajouté à la colonne des mots-clés. Cependant, les requêtes EXPLAIN ont révélé que la table entière devait être analysée lorsque les requêtes utilisaient le modèle « %string% ». Cet index s'est avéré bénéfique uniquement pour les requêtes LIKE 'string%'.

Considérations sur l'index

Pour les tables InnoDB, les index de texte intégral sont préférés pour les requêtes avec des termes de recherche flottants, où le terme de recherche se trouve n'importe où dans la chaîne. Cependant, on pensait auparavant qu'InnoDB ne prenait pas en charge les index de texte intégral.

Solution

Dans les versions récentes (5.6.4 et ultérieures), InnoDB a obtenu la prise en charge des index de texte intégral. Cela signifie que pour les requêtes LIKE '%string%' optimisées, la mise à niveau vers InnoDB version 5.6.4 ou supérieure est recommandée. Les index de texte intégral sont spécifiquement conçus pour les termes de recherche flottants.

Avantages des index de texte intégral

En utilisant des index de texte intégral, les termes de recherche « flottants » peuvent être localisés efficacement dans la colonne des mots-clés. Cela élimine le besoin d'analyser la table entière, améliorant considérablement les performances des requêtes LIKE '%string%' dans les tables InnoDB.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn