问题描述
我有一个.Net 4.6.1 Winforms应用程序,它大约有10年的历史。 从一开始就运行良好,但是在过去的几周里,我遇到了一个从未遇到过的问题。
- Firebird 2.5(提供最新版本)
- .net客户端(提供最新版本)
- Visual Studio 2015或2019(两个版本,存在相同问题)
现在,与Firebird有关的应用程序将调用一系列select语句以加载数据集。与往常一样,它像往常一样运作良好。几周以来,select语句的整个过程非常缓慢,非常缓慢。
慢是什么意思?通常,在我的PC上加载整个数据集需要5到6秒钟,而现在却需要70秒钟,而没有任何理由。架构或顺序没有任何变化,没有从环境中添加或删除任何东西。
但是,我不知道为什么,该软件的发行版版本与最初的版本一样快,所以我并没有真正明白要点。 我在Visual Studio中有一个 debug 版本,该版本使用一组select语句加载数据的速度较慢,而发布版本的速度与往常一样快。
现在,当我第一次意识到该软件的运行速度非常慢时,我将整个Firebird组件升级到了最新版本,但并不高兴。我仍在使用旧版本,因为我没有真正的升级理由:“行得通吗?请不要触摸它!”
在发行版本中,我使用嵌入式Firebird版本,因为我必须重新分发该应用程序。在服务器版本的调试中,因此我可以使用IBExpert管理数据库并一起运行软件。自古以来就是这样。
所以,我正在寻找建议,因为我不知道要去哪里寻找什么。
解决方法
我通过在连接属性中设置 Pooling = true 修复了这种奇怪的行为