【问题标题】:ideal design for winforms connecting to SQL Server .连接到 SQL Server 的 winforms 的理想设计。
【发布时间】:2008-11-23 17:50:50
【问题描述】:

我有一个执行以下操作的 winforms 应用程序:

在每个查询上:

  1. 数据库连接
  2. 数据库查询
  3. Db 断开连接

因为我们试图避免必须保持数据库连接打开。这会影响性能,因为我们必须每次都连接/断开连接。

这里理想化的模型是什么,它具有最快的性能,但没有打开连接太久。这里有最佳做法吗?

【问题讨论】:

    标签: c# sql-server winforms


    【解决方案1】:

    最有效的方法是连接池,ADO.NET does this automatically for you 只要确保关闭连接即可。只需将您的 SqlConnection 对象包装到 using 语句中,您就不必担心了。

    【讨论】:

      【解决方案2】:

      使用连接池连接/断开连接的开销非常很少。您的瓶颈绝对是数据库查询本身,因此打开全局连接无济于事。

      如果您的查询太慢,请尝试优化它们。如果这不起作用,您将查看缓存、异步提取或非规范化。我真的没有想到保持数据库连接的一般用例。

      【讨论】:

        【解决方案3】:

        也许尝试考虑缓存您的数据?我自己的粗略测试表明,在内存数据中查询比从数据库中查询相同数据快 20 倍。尽管这种方法可能不适合您的架构或数据需求,但如果可以的话,总是值得考虑在某处缓存经常访问的数据。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-25
          • 1970-01-01
          • 1970-01-01
          • 2013-05-01
          • 2023-03-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多