多线程和数据库连接

Jon*_*han 11 .net mysql design-patterns

所以我想弄清楚我的数据库连接的最佳实践.我有一个大的.NET GUI,作为MySQL数据库的前端.目前我打开了一个关于应用程序负载的连接,并将其用于我需要的任何交互.但是,整个GUI是单线程的.

当我开始为大型查询添加BackgroundWorkers并执行时,我担心我的开放连接.我知道,例如,我在该连接上一次只能打开一个dataReader.使用多个线程,用户可以尝试实例化多个线程.

为应用程序保持一个打开的连接与为每个交互打开一个新连接有什么优点/缺点?

这有哪些常见的设计模式?

谢谢-

乔纳森

Ran*_*pho 6

使用线程安全的连接池并保持特定于线程的连接(不要跨线程共享连接).

我相信MySQL .NET连接框架内置了一个.如果对所有连接使用相同的连接字符串,只需在连接字符串中添加"pooling = true"即可.(来源 - 没有超链接片段,所以在表格中寻找"汇集")

这种方法的缺点是某些线程将阻塞,直到连接可用.您需要在程序结构中考虑到这一点.