【发布时间】:2011-03-30 21:28:22
【问题描述】:
通过 OLEDB 从 Oracle DB 检索数据的最快方法是什么?
它应该是可移植的(必须在 Postgres 和 MS SQL 上工作),只传输一列(来自某个大表的 ID)。
当前性能为 100k 行/秒。如果我想让它跑得更快,是不是期望太高了?
澄清:
数据表有 2300 万条记录
查询是:从对象中选择 ID
瓶颈是从oracle转移到客户端软件,即c++/OLEDB
【问题讨论】:
-
你的问题有点不够详细。您的客户如何使用这些行?排序顺序重要吗?一共有多少行?执行的查询复杂吗?网络流量有影响吗?磁盘 i/o 有影响吗?
-
同意 APC。没有比这个简单的 select 语句更快的方法了,但其他变量可能会产生影响。
-
使用“WHERE”子句?从 id = 条件的对象中选择 id。或者,查看“之间”
-
伙计们,我说的是最快传输的技术,至少需要从数据库中获取数据的开销。我需要所有数据,无论如何查询都是任意的。今天有 23M 条记录,明天将有 23B 条记录。我在这里需要 ezoterics,例如 Oracle 存储过程,它将在一端 LZW 数据并将其输出为单个 blob 结果。
-
带有千兆交换机的千兆(或更高)网络连接...并且可能连接到上帝运行的服务器? :-)