参数List size过大查询,如何提高效率

参数 list 里面装了1000+的 id (字段有索引) 然后根据这个list去数据库(oracle)中查询,如何提高效率呢??

 

数据库新建临时表,查询前插入,使用表关联查询,查询完成后清除临时表数据.其中临时表可以使用数据库自动的事务管理实现

 

如果数据库中的表的数据过大的话首先加入索引,然后做一下表分析这样可以提高速度,另外针对楼主提出的问题也可以采取将List中的ID取出来用exists去查询数据库,数据库端的查询远比程序中的循环查询快很多的。

 

如果是利用高级程序语言里数据库编程技术来实现的话,而非在DBMS下直接操作,我觉得可以采用多线程来解决!同时,如果针对海量数据的话,MapReduce将是不错的选择吧!

 

首先你要做同步还是异步
如果是要实时结果的,你不需要对所有的1000个结果进行查询。 
第一种:你可以先取前100个id进行查询。用户只要看前100跳记录就好了。 

第二种:把1000个id分组10组,然后启10个线程,每组用一个线程进行查询。然后把查询结果进行汇总。排序。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值