结合Mysql和Sphinx查询?

时间:2016-10-20 16:09:48

标签: mysql optimization sphinx

我在桌面上有一个非常有效的Sphinx查询。然而,部分查询unfortunatley需要一个包含100个选项的大型“OR”语句。

上的狮身人面像窒息

@(field) (1|2|..|800)

相当一分钟,而Mysql中的相同管道查询需要< 1秒,是否正在执行

field in (1,2,..,800

甚至

Field =1 or Field=2 or Field=... or Field=800

有没有办法在一个查询中合并?

2 个答案:

答案 0 :(得分:0)

Sphinx可以对ATTRIBUTE进行copy init.mp4 +segment*.m4s source.mp4 次查询。

可能没有mysql那么高效(至少在索引列时)

in(..)

答案 1 :(得分:0)

如果attrib是VARCHAR,则最适合MySQL:

 WHERE attrib IN ('1', '2', ...)

如果是数字,则最适合MySQL:

 WHERE attrib IN (1, 2, ...)

请注意,使常量为错误类型会导致严重的低效率。