我在同一个远程服务器上并排安装了一个 Microsoft SQL Server 2008 实例和 Oracle 10g 数据库,每个服务器都加载了完全相同的数据。
我编写了一个程序来计时一个简单的查询,该查询返回大约 10,000 条记录(SELECT * FROM TABLE WHERE X=X)。我通过这个测试看到的是,Oracle 的返回速度比 MSSQL 慢 4-12 倍。我已经在 LAN 连接上进行了测试,通过 VPN 远程使用 ODP.NET4、ODP.NET2,确保在 32 位操作系统上安装了正确的 32 位版本,对于 64 位也是如此。
我的结果总是一样的,因为 Oracle 总是比 SQL Server 实例慢很多倍。
我还在 SQL Developer 中尝试过相同的查询,并且该工具检索相同的记录集的速度要快得多。当我强制该工具检索所有记录时,它比 SQL Server 慢 20%,这至少在我的场景中是可以接受的。
任何帮助表示赞赏。我知道有几个类似的问题,但这些问题的答案并没有帮助解决问题。
谢谢
- 从数据库服务器:3s (Oracle) vs 0.6s (SQL Server)
- 从局域网的某个地方:22s (Oracle) vs 4s (SQL Server)
- 从远程机器通过 vpn:54s (Oracle) vs 21s (SQL Developer) vs 13s (SQL Server)
附加问题:这是您在符合 ODP.NET + SQL Server 的应用程序中遇到的性能损失,还是我认为有问题是正确的?