Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql - eine Möglichkeit, die Volltextsuche mit einem anderen Index zu unterstützen?

Ok, also seit

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

Ich würde diesen Ansatz versuchen:(Ersetzen Sie author_id_index nach dem Namen Ihres Index auf author_id)

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

Hier ist das Problem folgendes:

  • Es ist tatsächlich unmöglich, einen regulären Index in Kombination mit einem Volltextindex zu verwenden
  • Wenn Sie die Tabelle mit sich selbst verknüpfen, verwenden Sie bereits einen Index auf jeder Seite des Joins (die ON-Klausel verwendet die author_id-Spalte, Sie benötigen hier definitiv den Index)

Am effizientesten müssen Sie anhand einiger Testfälle entscheiden, ob die Verwendung des Autorenindex besser ist als der Textindex.