PostgreSQL';与旧的ODBC提供程序相比,s.NET提供程序运行缓慢

PostgreSQL';与旧的ODBC提供程序相比,s.NET提供程序运行缓慢,postgresql,npgsql,Postgresql,Npgsql,为什么NPGSQL.NET数据提供程序比ODBC提供程序慢?我没有尝试过NPGSQL 2.0,但我确实使用过NPGSQL 1.0。非常慢 您对NPGSQL 2.0有何体验?在2.0.1上没有问题,与ODBC相比,速度也没有明显差异(我听说NPGSQL 1.0不太好,但没有使用它)。在Windows窗体和WPF应用程序中与ADO.Net一起使用它没有问题。这样做的一个建议是:采用ADO使用的“断开连接”范例更为稳健,即:打开连接、做某事、关闭连接,而不是在应用程序的生命周期中尝试使用单个打开的连接

为什么NPGSQL.NET数据提供程序比ODBC提供程序慢?我没有尝试过NPGSQL 2.0,但我确实使用过NPGSQL 1.0。非常慢


您对NPGSQL 2.0有何体验?

在2.0.1上没有问题,与ODBC相比,速度也没有明显差异(我听说NPGSQL 1.0不太好,但没有使用它)。在Windows窗体和WPF应用程序中与ADO.Net一起使用它没有问题。这样做的一个建议是:采用ADO使用的“断开连接”范例更为稳健,即:打开连接、做某事、关闭连接,而不是在应用程序的生命周期中尝试使用单个打开的连接


此外,我发现使用此页面比使用pgFoundry one更好:

我已经尝试使用npgsql 2.0,但性能仍然没有变化。它工作得很慢。我使用的解决方案没有ado.net。我正在使用executereader,然后将此数据解析为一个对象。。。我发现npgsql不能很好地解析包含大量数据的文本列,因为在某些情况下,我注意到性能很好,当结果不太大且数据不包含大的文本列时。

值得注意的是,2008-04-07发布的2.0beta3在这方面做了重大更改。方法上的变化非常显著,因此有必要在connectionstring中添加向后兼容标志,因为一些代码依赖于旧方法的副作用。这也意味着两者之间的区别是不同的