求助:复杂关联查询加上全文检索如何做到秒级响应?

2022-01-25 10:55:50 +08:00
 cage111

一开直接始用 sql 的 like 查询试了下太慢,之后用 sql 来 in Elasticsearch 中查出的 id ,id 如果太多也比较慢,不知道还有啥方法?

1639 次点击
所在节点    程序员
4 条回复
sun2920989
2022-01-25 11:06:33 +08:00
全丢 es 呢?
cage111
2022-01-25 11:55:22 +08:00
全丢 es 感觉比较麻烦,sql 比较长涉及表比较多,还没试过
sampeng
2022-01-25 16:14:47 +08:00
这是两个问题
1.复杂关联查询,一般是八股文了关系型设计模式的。说明表依赖过多。优化表结构,制作一个宽表。抹平各种关系表。换句话说,可能这条查询并不适合关系型数据库,并不是一个 OLTP 的场景,应该转化成一个 OLAP 的业务场景。最简单的办法就是复杂关联查询建立一个视图,如果数据库支持固化视图就很好。如果不支持,定时倒到另一个 OLAP 的系统里面非常好处理。
2.全文检索如果懒得扔 es ,es 确实重。但确实是最简单的一个解决方案,在复杂可控就是自己写全文检索引擎。。lucene 的接口已经很干净了,自己做有工作量,但不是做不了。

另外,业务型接口,秒级是很慢很慢很慢了。。基本要求 100ms 甚至 30ms 一个接口完成功能请求
Geekerstar
2022-01-26 14:25:04 +08:00
ETL+ES

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/830430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX