在 WAN 上具有许多绑定(bind)变量的 oracle 插入非常慢

标签 oracle networking performance wan sqlbindparameter

我们遇到了使用 40 个绑定(bind)变量作为列值的慢速插入语句的问题。它在通过 WAN 链接运行时会运行几秒钟,我们无法确定问题,直到我们使用网络分析器。每次执行这个准备好的查询都需要在客户端和服务器之间交换超过 120 个数据包才能完成。我们可以做些什么来更有效地执行它?

当我使用来自同一主机的实际参数(没有绑定(bind)变量)运行相同的插入时,它会在数十毫秒内完成。参数没有什么特别之处,只有简短的 varchars 和数字。

我们正在使用带有 ODAC 的 Delphi 6,我们尝试了各种版本的 ODAC 和 Oracle 客户端,但均无济于事。在服务器端,我们尝试了 Oracle 10 和 11。

最佳答案

TNS不适合在 WAN 上正常工作.

如果可能,重写您的应用程序以使用其他网络层,例如 HTTP , 这样效率更高。

您可以使用 Oracle HTTP Server , 例如。

关于在 WAN 上具有许多绑定(bind)变量的 oracle 插入非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/915922/

相关文章:

networking - 使用 Mininet 模拟 LTE 网络

ios - 如何避免 iOS Newsstand 应用程序收到远程通知而导致 Web 服务器流量高峰?

c++ for range循环比递减循环更快

java - 获取字体指标真的很慢

oracle - 计算oracle中两个日期之间的周数

oracle - 为什么 Oracle 在执行批量插入时会更改数据的物理顺序?

networking - AWS RDP 在加入 VPN 后断开连接

android - 如何在 GPS 和网络提供商之间切换?

sql - 如何利用SQL(Oracle)来计算字符串的大小?

database - 外部表引用Postgres 9.5