首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql:在大树中组织搜索

mysql:在大树中组织搜索
EN

Stack Overflow用户
提问于 2016-10-20 22:41:35
回答 1查看 47关注 0票数 0

我有一个关于组织我的web应用程序(php + mysql)的问题。我有很多桌子。我必须通过不同的参数来搜索它。例如: country: 2,category1: 33,language: 3。

代码语言:javascript
复制
select distinct s.id from tbl_item s
left join tbl_item_act ep on s.id = ep.item_id
left join tbl_item_act_category cl3 on cl3.id = ep.category_id
left join tbl_item_act_category cl2 on cl2.id = cl3.parent_id
left join tbl_item_act_category cl1 on cl1.id = cl2.parent_id
left join tbl_city ci on ci.id = s.city_id
left join tbl_country co on co.id = ci.country_id
left join tbl_language la on la.id = cl2.language_id
left join tbl_item_subject sbb on sbb.item_id = s.id
left join tbl_subject sb on sb.id = sbb.subject_id and sb.subject_type = 'subject'
left join tbl_subject ev on ev.id = sbb.subject_id and ev.subject_type = 'event'
left join tbl_season se on se.id = cl1.season_id or se.id = cl2.season_id
left join tbl_education_type et on et.id = s.education_type_id
left join tbl_item_tag_binding stagb on stagb.item_id = s.id 
left join tbl_item_tag stag on stag.id = stagb.tag_id
left join tbl_item_type_binding stb on stb.item_id = s.id
left join tbl_item_type st on st.id = stb.item_type_id
where s.original_id is null and cl1.id = 33 and la.id = 2 and se.id = 2

我必须在一个页面上执行9-10个查询。我每次查询大约需要50毫秒。我试图生成一个表(比如view)并在这里存储连接的数据(作为缓存表),但它存储了数百万行,并且每次查询需要大约500ms的搜索时间。我尝试过nosql (mongodb)搜索(大数据树),它花费的时间很短。大约20-30毫秒,但对我来说太多了。

通过我的数据结构中的许多参数来创建快速搜索的最佳实践是什么?

对不起,我的英语不好。

EN

回答 1

Stack Overflow用户

发布于 2016-10-30 04:17:06

这是一个很大的挑战,但这里需要apache的Solr或Lucene

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

https://stackoverflow.com/questions/40157578

复制
相关文章

相似问题

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