Sphinx, параметрический поиск, и много JOIN

Есть некий список сущностей в mysql таблице. У этих сущностей есть некие параметры ( из целых чисел и чисел с плавающей точкой). Эти параметры хранятся в отдельных таблицах.
В сфинкс эти атрибуты уходят как sql_attr_int и sql_attr_float а в источнике данных они естественно собиряются при помощи JOIN. И вот мы приходим к граблям.
Очевидный факт - JOIN в MYSQL - зло. Особенно зло, если этих JOIN больше трех. А если их полтора десятка, то MYSQL ложится не только при попытке выполнить запрос, а даже при попытке сделать его EXPLAIN
Собственно вопрос:
Как построить источник данных , не используя XML?

1 ответов


1. EXPLAIN получает информацию от оптимизатора запросов о том как будет выполнен запрос, не выполняя его при этом, поэтому непонятно как он может ложить сам MySQL.

2.Не использовать XML(xmlpipe) - прописывать запрос непосредственно в секции sphinx.conf::source. Не забыть про sql_query_range и индексы на join'ах.