2012-02-23 108 views
0

我新的DB2我想选择约200万数据与这样的 单查询将选择并显示第5000个数据,并在后面的过程会选择其他的5000个数据,并保持在同样,直到所有数据的结束帮我这怎么像你想要什么作为阻挡编写查询,或者使用功能IBMDB2选择查询

回答

1

声音。但是,这在数据库级别并未实际处理(不是您想的方式) - 它是在应用程序级别处理的。您需要指定您的平台和编程语言,以便我们在那里提供帮助。但如果你希望有人来实际阅读 200万行,这将需要一段时间...在一排第二个,这是连续23天。

原因 SQL并没有真正执行这个'本地'是它(有点)效率较低。另外,SQL是(通过设计)设置在整个数据集进行操作,概念上和语法上。

1

可以使用的新功能之一,即从Oracle或MySQL集成分页:https://www.ibm.com/developerworks/mydeveloperworks/blogs/SQLTips4DB2LUW/entry/limit_offset?lang=en

与此同时,您可以通过指示优化了N行影响优化,并且只能取前n行。如果您打算只读,则最好在查询“FOR READ ONLY”中指定此子句,这将增加并发性,并且光标不可更新。此外,分配一个很好的隔离级别,对于这种情况,您最终可能会使用“未提交的读取”(使用UR)。以前的锁定表将会很好。

不要忘记像常见的做法:索引或聚簇索引,仅检索必要的列等,总分析通过解释工具的访问计划。