我在同一台远程服务器上并排安装了Microsoft SQL Server 2008实例和Oracle 10g数据库,并在每台服务器上加载了相同的确切数据。
我编写了一个程序来计算一个返回大约10,000条记录的简单查询(SELECT * FROM TABLE WHERE X = X)。我通过这个测试看到的是Oracle返回的速度比MSSQL低4到12倍。我已经使用ODP.NET4,ODP.NET2在局域网连接上远程测试,使用ODP.NET4,ODP.NET2,确保32位操作系统上安装了正确的32位版本,64位版本也是如此。
我的结果总是相同的,因为Oracle总是比SQL Server实例慢很多倍。
我也在SQL Developer中尝试过相同的查询,这个工具可以更快地检索相同的记录集。当我强制该工具检索所有记录时,它比SQL Server慢大约20%,这在我的场景中至少是可以接受的。
任何帮助都表示赞赏。我知道有几个类似的问题,但这些问题的答案并没有帮助解决问题。
由于
其他问题:这是您在符合ODP.NET + SQL Server标准的应用程序中遇到的性能问题,还是我认为出现了问题?
答案 0 :(得分:3)
您的申请中是setting a fetch size吗?如果是这样,您是否尝试过设置不同的提取大小并测量它对经过时间的影响?我相信SQL Developer默认的提取大小为500(虽然我没有任何延伸保证),所以你可以用它作为起点。