首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Mysql和Sphinx查询结合起来?

将Mysql和Sphinx查询结合起来?
EN

Stack Overflow用户
提问于 2016-10-20 16:09:47
回答 2查看 118关注 0票数 2

我有一个非常高效的Sphinx查询在处理一个表。然而,查询的一部分不幸需要一个大型的'OR‘语句,其中包括100个选项。狮身人面像

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

非常糟糕的是,花费了1分钟的时间,而Mysql中的同一个管道查询需要<1秒才能执行。

field in (1,2,..,800

甚至是

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

是否有一种将两者合并在一个查询中的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-20 16:26:32

狮身人面像可以对属性执行in(..)查询。

可能不如mysql有效(至少是索引列)

代码语言:javascript
复制
sphinxQL> SELECT * FROM index WHERE MATCH('...') AND attrib IN (1,2,...) 
票数 0
EN

Stack Overflow用户

发布于 2016-10-23 01:32:43

如果attrib是VARCHAR,那么这对MySQL是最好的:

代码语言:javascript
复制
 WHERE attrib IN ('1', '2', ...)

如果它是数字的,那么这对于MySQL来说是最好的:

代码语言:javascript
复制
 WHERE attrib IN (1, 2, ...)

请注意,使用常量是错误的类型可能导致严重的低效率。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40159437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档