Maison > base de données > tutoriel mysql > le corps du texte

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
Libérer: 2024-10-25 09:24:02
original
279 Les gens l'ont consulté

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!