es召回大量数据慢

es召回大量数据慢,第1张

在使用Elasticsearch搜索时,如果需要召回大量数据,可以考虑以下几种方法:

1. 使用分页技术:分页技术可以有效地减少每次搜索的数据量,使得搜索过程变得更快

2. 使用索引:索引可以有效地加快搜索速度,减少搜索时间。

3. 使用搜索聚合:搜索聚合可以有效地减少搜索时要搜索的数据量,使得搜索变得更快。

4. 使用缓存:缓存可以有效地减少搜索时要搜索的数据量,使得搜索变得更快。

5. 使用高亮技术:高亮技术可以有效地减少搜索时要搜索的数据量,使得搜索变得更快。

当执行每条SQL语句时, ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等等. 由此可见,

减少访问数据库的次数 , 就能实际上减少ORACLE的工作量.

例如,

以下有三种方法可以检索出雇员号等于0342或0291的职员.

方法1 (最低效)

SELECT

EMP_NAME , SALARY , GRADE

FROM EMP

WHERE EMP_NO = 342

SELECT EMP_NAME , SALARY , GRADE

FROM EMP

WHERE

EMP_NO = 291

方法2 (次低效)

DECLARE

CURSOR C1 (E_NO

NUMBER) IS

SELECT EMP_NAME,SALARY,GRADE

FROM EMP

WHERE

EMP_NO = E_NO

BEGIN

OPEN C1(342)

FETCH C1 INTO …,..,..

…..

OPEN C1(291)

FETCH C1 INTO …,..,..

CLOSE C1

END

方法3 (高效)

SELECT A.EMP_NAME ,

A.SALARY , A.GRADE,

B.EMP_NAME , B.SALARY , B.GRADE

FROM EMP

A,EMP B

WHERE A.EMP_NO = 342

AND B.EMP_NO = 291

是的,查询两次数据库是正常的。每次查询都会消耗一定的时间,但是如果您正确地使用索引,可以有效地提高查询效率,从而提高性能。此外,您还可以使用缓存来提高查询效率,这样可以减少对数据库的访问次数,从而提高性能。另外,您还可以使用数据库优化技术,比如优化表结构,优化查询语句,优化索引等,从而提高查询效率。总之,查询两次数据库是正常的,但是您要注意查询效率,以便获得更好的性能。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6475002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-23
下一篇 2023-03-23

发表评论

登录后才能评论

评论列表(0条)

保存