1

通过 OLEDB 从 Oracle DB 检索数据的最快方法是什么?

它应该是可移植的(必须在 Postgres 和 MS SQL 上工作),只传输一列(来自某个大表的 ID)。

当前性能为 100k 行/秒。如果我想让它跑得更快,我是否期望过高?

澄清:

数据表有 23M 条记录

查询是:从对象中选择 ID

瓶颈是从oracle转移到客户端软件,即c++/OLEDB

4

1 回答 1

1

什么鬼,我会抓住机会的。

编辑:就连接性而言,我 HEARTILTY 建议:

Oracle Objects for OLE,简称 OO4O。

它是由 Oracle 为 Oracle 而不是 MS 制造的。它使用高性能本机驱动程序,而不是 ODBC 来提高性能。我个人曾多次亲自使用过它,而且速度很快。我连接到非常大的数据库和数据仓库,其中每个表的记录从不低于 200 万条,大多数都大得多。

请注意,您无需了解 OLE 即可使用它。它包装了 OLE,因此得名。从概念上和句法上讲,它将“结果集”包装到由 SQL 命令提供的动态集中。如果您曾经使用过 DAO 或 ADO,您将在 5 分钟内提高工作效率。

这是一篇更深入的文章。

如果你不能使用OO4O,那么Oracle 做的专门的.Net Data Provider 是很好的。不是 MS 制造的。

高温高压


使用“WHERE”子句?示例:“从 id = 条件的对象中选择 id”

在哪里

这仅通过网络发送感兴趣的记录。否则,所有 2300 万条记录都会通过网络发送。

或者,查看“之间”。

“从 id 介于 thisone 和 thatone 之间的对象中选择 id”

之间

这会在您指定的范围内发送一组减少的记录。

高温高压

于 2010-08-17T18:09:16.673 回答