我正在使用ADO.Net连接到某些Sql Server和Oracle数据库,并且我想同时运行一些查询。
我将SqlClient名称空间中的类用于Sql Server,将ODP.Net用于Oracle。对于Sql
Server,我在连接字符串中添加了MARS选项,并在SqlCommand上调用了异步API。ODP.Net不提供异步API,因此我必须为并发的Oracle命令分配单独的线程。
我的问题是,我应该如何处理连接对象?我应该为每个数据库实例创建一个DbConnection并针对单个连接异步执行命令,还是应该为每个并发命令提供单独的连接对象?共享连接对象是否会成为同时通过它执行的多个命令的争用点?
我将编写一些比较测试,但希望能听到有异步数据库命令经验的人的来信。先感谢您!
前一段时间,我们遇到了这个问题,并选择为每个并发命令处理一个单独的连接对象。这是一个大量使用数据库的应用程序(每个页面执行约40个查询)。由于创建了连接,我们看到这非常慢。
因此,我们将其更改为每个执行的命令所使用的单个连接(单例)。这样就解决了该问题,我们很高兴看到该应用程序的响应速度更快。但是,应用程序开始增长,交易需求迫在眉睫,但是我们面临的问题是在我们的模型中这是不可能的。我们使用混合结束:每当连接需要事务时,我们都会创建一个新事务,如果不需要事务,那么我们将重用在单例中创建的事务。
我现在要做的是使用单个连接并在称为“存储过程”的存储过程中使用事务模式。避免必须在应用程序服务器上处理事务。
希望对您有所帮助。
问题内容: 好的,这是那些自以为是的主题之一,但是根据您的知识,见解和当前实践,设置以下方案的最佳方法是什么? 我正在构建一个广泛的数据输入应用程序,而从广义上来说,我的意思是我只有基本设置,它包含了整个程序的约15%至25%,并且我大约有15个表单是部分设置的。(他们仍然需要工作)我使用SQL Compact 4.0作为后端数据库,因为我没有存储MMO的大量数据,所以我实际上并不需要更扩展的数据
问题内容: 我有一个用Go编写的Web服务,目前我将这个Global包导入到任何地方,其中包含与MongoDB的连接(通过MGO),但是我不得不说这对我来说非常讨厌。在Go中维护与数据源的连接的最佳实践是什么?我来自PHP世界,因此来自Global:S 问题答案: 导入一个将初始化对象导出为包级别变量或通过访问器/初始化程序导出的包没有错。后者也许对古典“ OOP主义者”更具吸引力。
我正在构建一个节点应用程序,它将查询简单的和更复杂的(多连接)查询。我正在寻找关于我应该如何管理mySQL连接的建议。 我有以下几个要素: server.js:express Router1.js(虚构名称):快速路由器中间件 Router2.js(虚构名称):快速路由器中间件 我是否应该在每次请求“/router1/”时都连接到mysql,就像本例中那样,还是最好在启动时保持一个连接打开?作为:
问题内容: 在厌倦了c3p0的恒定锁定之后,我将转向BoneCP作为数据库的备用连接池。我有一个服务器应用程序,每分钟处理大约7,000个项目,需要将这些项目记录到我们的MySQL数据库中。我目前有100个工作线程,并按如下方式设置了我的池: 这些应用程序是否接受这些设置?我问是因为运行一两分钟后,在尝试调用池时出现BoneCP异常。谢谢您的帮助。 这是我在工作线程中用于db调用的代码,它不会在网
问题内容: 我有一个具有相当基本配置的基本Spring JDBC应用程序: 我想介绍一个连接池,在阅读了SO上的多个线程后,我对使用哪个池库感到有些困惑。 C3P0和DBCP似乎在SO方面具有更多的信誉。由于使用的是Oracle,因此我也可以使用驱动程序提供的池数据源。 我了解还有更多可用的库-例如新的Apache Tomcat 7池库。 我真的应该避免使用任何库吗? 我应该在给定的库中使用任何建
问题内容: 在PHP中使用单例而不是全局的数据库连接有什么好处?我觉得使用单例而不是全局会使代码变得不必要地复杂。 全局编码 用Singleton编码 如果除了全局或单例之外,还有一种更好的初始化数据库连接的方法,请提及它并描述它比全局或单例具有的优势。 问题答案: 我知道这很旧,但是Dr8k的答案 几乎 就在那里。 当您考虑编写一段代码时,假设它会改变。这并不意味着您要假设它会在将来的某个时刻对