>백엔드 개발 >PHP 튜토리얼 >sphinx(coreseek)处理分表的方案

sphinx(coreseek)处理分表的方案

WBOY
WBOY원래의
2016-06-06 20:06:551916검색

关于sphinx处理分表,有以下几个疑问
1、对于垂直分表,sql_query直接用join查询,但有人说这个效率不高,建立索引的速度比较慢?又有人说不会影响效率,直接使用join即可,求解并希望说明原因
2、对于水平分表,我原本设想的是在数据源中多写几个sql_query,但是生成索引的时候提示warning:key 'sql_query' is not multi-value; 意思是重复了,我记得之前测试成功过,这次又不行了,难道我记错了吗
如果行不通,想了以下几种方案:
① sql_query用union处理
② sql_query用视图处理
③ 索引中的source来自多个数据源,网上有人说可以来自多个数据源,但并没有找到具体配置方法,逗号不行
(将每个分表配置一个数据源,重复信息继承)
这几种方案哪个比较合适,求解并希望说明原因
谢谢诸位了,感激不尽

回复内容:

关于sphinx处理分表,有以下几个疑问
1、对于垂直分表,sql_query直接用join查询,但有人说这个效率不高,建立索引的速度比较慢?又有人说不会影响效率,直接使用join即可,求解并希望说明原因
2、对于水平分表,我原本设想的是在数据源中多写几个sql_query,但是生成索引的时候提示warning:key 'sql_query' is not multi-value; 意思是重复了,我记得之前测试成功过,这次又不行了,难道我记错了吗
如果行不通,想了以下几种方案:
① sql_query用union处理
② sql_query用视图处理
③ 索引中的source来自多个数据源,网上有人说可以来自多个数据源,但并没有找到具体配置方法,逗号不行
(将每个分表配置一个数据源,重复信息继承)
这几种方案哪个比较合适,求解并希望说明原因
谢谢诸位了,感激不尽

sphinx 不是mysql,它是个搜索引擎。
如果数据量很大,建议水平分,
1)可以使用内置的分布索引(其实是代理)
2)自己发送多个请求,最后合并数据。

多个数据源, 在indexer内配置source时,用多个源,用逗号分开,是可以的。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.