1

我在 .NET 4 中有一个带有实体框架的程序和带有 MySQL.NET 适配器版本 6.5.4 的 MySQL。在我让程序空闲一段时间(比如 5 分钟)并尝试搜索数据库后,会有大约 5-6 秒的延迟。但在那之后,搜索将再次快速。

我对延迟进行了分析,发现实体框架正在尝试在一定的空闲时间后重新建立与数据库的连接,从而导致延迟。由于我的程序将仅在大约 20 台机器的小组中使用,我希望保持连接始终处于活动状态以加快查找速度。有没有办法做到这一点?如果没有,在这种情况下如何提高与 MySQL 的连接速度?

编辑(更新):

我在连接字符串中设置“Min Pool Size=1”后发现,即使长时间空闲也不会有任何延迟。它似乎解决了我的问题。

4

1 回答 1

0

持久连接很少是一个好主意,但话虽如此......

您可以在 ObjectContext 上执行此命令:

yourObjectContext.ExecuteStoreCommand("SET SESSION wait_timeout=28800;");

这应该告诉数据库保持连接打开 8 小时。

于 2012-06-18T20:47:55.807 回答