oracle查询效率:一次查询100万条记录 VS 100万次查询,每次查一条记录 本帖最后由 amo1101 于 2011-03-16 23:16:02 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 补充说明一下,查询的时候会进行bind,查询之后,fetch到应用程序中。现在需要采用第二种方式,但担心数据量很大的时候,性能会很低,所以想咨询一下,改如何进行调优? 1. 从技术角度来看, 如果是oltp的系统,你可以通过走索引的方式来查询,而你又要Fetch到其他接口,那么合适的分批可以提高性能,比如1万条一批。 如果是olap的系统,可以通过增大并发,use_hash方式来查询,一次性的查询并传输。 查询是一个问题,但对接收数据的系统影响更大。一般来说,分批的接收数据并处理适用的范围广一点,但如果是olap系统的话,一次处理100万数据倒会快点。2. 从需求看,还需要LZ讲清楚为啥要做这个事情,是否可以通过其他的方式来达到目的,而不是仅仅考虑是否能完成100万数据的查询和处理。 之所以要这样做,是因为要实现一个数据导出系统,根据一个主键列表,从oralce数据库中获取由主键关联起来的数据(可能存在与多张数据表中)。 求一个oracle自带函数,返回大于或等于给出数字的最小整数 数据登录速度问题 谁有灾难恢复相关资料?500分悬赏。 远程连接Oracle数据库问题????在线等 Could not create an environment: OCIEnvCreate returned -1.真奇怪! 帮我看看树结构的SQL语句如何修改? 字符集的问题 如何将VARCHAR2类型数据转化为DATE类型数据 Oracle输出问题 powerdesigner用reort导出文档,列显示为true/false,如何设置true的显示为“X” oracle 菜鸟求助 怎么将Excel的数据导入数据库?
如果是oltp的系统,你可以通过走索引的方式来查询,而你又要Fetch到其他接口,那么合适的分批可以提高性能,比如1万条一批。
如果是olap的系统,可以通过增大并发,use_hash方式来查询,一次性的查询并传输。
查询是一个问题,但对接收数据的系统影响更大。一般来说,分批的接收数据并处理适用的范围广一点,但如果是olap系统的话,一次处理100万数据倒会快点。
2. 从需求看,还需要LZ讲清楚为啥要做这个事情,是否可以通过其他的方式来达到目的,而不是仅仅考虑是否能完成100万数据的查询和处理。
之所以要这样做,是因为要实现一个数据导出系统,根据一个主键列表,从oralce数据库中获取由主键关联起来的数据(可能存在与多张数据表中)。