Maison >base de données >tutoriel mysql >Comment puis-je implémenter une recherche partielle en texte intégral sur les tables InnoDB à l'aide d'instructions LIKE et d'index externes ?
Optimisation de la recherche de type texte intégral pour les tables InnoDB
Les tables InnoDB offrent d'excellentes performances et fiabilité, mais elles manquent nativement de fonctionnalité de recherche en texte intégral. Cependant, il est possible d'obtenir des capacités de recherche partielle en texte intégral en exploitant une combinaison d'instructions LIKE et d'index externes.
Solution
Pour imiter la recherche en texte intégral à l'aide COMME, une approche consiste à utiliser une table MyISAM secondaire comme couche d'indexation pour la table InnoDB principale. Cette table secondaire, appelée « table de recherche en texte intégral », stocke une copie indexée de la ou des colonnes souhaitées de la table InnoDB.
Étapes :
Exemple :
Considérons une table "threads" dans InnoDB contenant une colonne "sujet" que nous souhaitons rendre consultable. Nous créons une table de recherche en texte intégral MyISAM "threads_ft" avec un schéma similaire. Pour faciliter la synchronisation, nous utilisons des déclencheurs ou des mises à jour par lots pour refléter les modifications de la table "threads" d'InnoDB vers "threads_ft".
La procédure stockée de recherche "ft_search_threads" accepte un paramètre de recherche et renvoie les threads pertinents. Il rejoint la table de recherche avec la table InnoDB pour récupérer des métadonnées supplémentaires et classe les résultats en fonction de la correspondance LIKE par rapport à la colonne « sujet ».
Avantages :
Considérations :
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!