У меня очень эффективный запрос Sphinx, работающий на столе. Однако часть запроса unfortunatley требует большого оператора «OR», состоящего из 100 вариантов. Sphinx давитсяОбъединить запросы Mysql и Sphinx?
@(field) (1|2|..|800)
довольно плохо с тех пор, как одна минута, а тот же запрос, труба в Mysql занимает < 1 секунда ли делать
field in (1,2,..,800
или даже
Field =1 or Field=2 or Field=... or Field=800
.
Есть ли способ объединить оба в одном запросе?
Я предполагаю, что будет более эффективным, чем выполнение '@ (field) (1 | 2 | ...)'? Я пытаюсь проверить здесь, но в то время как 'attribname = '1'' works' attribname in (' 1 ', 2', ...) 'дает мне ошибку" [Err] 1064 - sphinxql: синтаксическая ошибка, неожиданный QUOTED_STRING, ожидая CONST_INT или '-' рядом '' 1 ',' 2 ')' " – user3649739
Я думаю, мне нужно изменить свой тип атрибута, я отчитаю извините. – user3649739
Как только я исправил тип attr работает как шарм. Для справки, когда я помещал идентификаторы 2000 в Match, поскольку '@ (Field) 1 | 2 | ... | 2000' занимал две минуты, когда я делал как' и имя_имя в (1,2, ..., 2000) потребовалось 0,12 секунды. Быстрее, чем тогда запрос Mysql ... – user3649739