/ / Смесени MySQL и Sphinx запитвания - mysql, subquery, sphinx

Смесени заявки за MySQL и Сфинкс - mysql, подзадаване, сфинкс

Имам инсталиран MySQL и Sphinx и работи правилно на LNMP сървър. Сега бих искал да интегрирам Sphinx под-запитване в съществуващата MySQL заявка.

Пример:

SELECT * FROM mysql_table
JOIN (SELECT id FROM sphinx_index MATCH ("keyword")) AS match_table
ON match_table.id = mysql_table.id

Това възможно ли е? Ако не, трябва ли да направя Сфинкса отделно и след това да използвам WHERE IN в MySQL заявката, или това ще убие допълнителната ефективност, която получавам от Сфинкс?

Отговори:

1 за отговор № 1

Използвайте SphinxSE http://sphinxsearch.com/docs/current.html#sphinxse-overview

Тогава щеше да бъде

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

Макар че

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

е по-кратък и по-сбит. И по-добре поддържа реда на резултатите.

Където "sphinx_index" е таблица на SphinxSE, която сочи към основния индекс на сфинкса.


0 за отговор № 2

Изглежда, че намерих отговора на друг въпрос със SO:

Интегриране на Sphinx в MySQL

От това четене, изглежда, че Sphinx и MySQL не са толкова интегрирани, колкото се надявах. Те трябва да се използват на отделни връзки, така че не можете да комбинирате заявки.