我在桌面上有一个非常有效的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
。
有没有办法在一个查询中合并?
答案 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, ...)
请注意,使常量为错误类型会导致严重的低效率。