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

Gemischte MySQL- und Sphinx-Abfragen

Verwenden Sie SphinxSEhttp://sphinxsearch.com/docs/current.html#sphinxse-overview

Dann wäre

SELECT * FROM mysql_table
JOIN (SELECT id FROM sphinx_index WHERE query='keyword') AS match_table
ON match_table.id = mysql_table.id

Obwohl

SELECT * FROM sphinx_index INNER JOIN mysql_table USING (id) WHERE query='keyword'

ist kürzer und prägnanter. Und behält die Reihenfolge der Ergebnisse besser bei.

Wobei „sphinx_index“ eine SphinxSE-Tabelle ist, die auf den zugrunde liegenden Sphinx-Index zeigt.