Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql - un moyen d'aider la recherche en texte intégral avec un autre index?

Ok, donc, depuis

http://dev.mysql.com/doc /refman/5.0/en/index-merge-optimization.html

J'essaierais cette approche :(remplacez author_id_index par le nom de votre index sur author_id)

select * from articles use index (author_id_index)
where author_id=54 
and match (article_text) against ('foo');

Ici le problème est le suivant :

  • il est en effet impossible d'utiliser un index normal en combinaison avec un index de texte intégral
  • si vous joignez la table avec elle-même, vous utilisez déjà un index de chaque côté de la jointure (la clause ON utilisera la colonne author_id, vous avez définitivement besoin de l'index ici)

Le plus efficace doit être décidé par vous, avec quelques cas de test, si l'utilisation de l'index des auteurs est meilleure que celle du texte.