您的位置:首页 > 其它

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

2012-06-22 11:41 162 查看

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

 

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

 

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

 

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

 

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

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

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: