【问题标题】:Multithreaded database access query [closed]多线程数据库访问查询 [关闭]
【发布时间】:2021-07-09 13:26:32
【问题描述】:

如何同时从单个数据库表执行多个 SELECT 查询?我通常可以使用线程或任务并使用不同的顺序/排序标准进行多个查询,还是会出现问题?例如,我有一个包含球员姓名进球和助攻的表格。我可以使用不同的线程同时检索目标和辅助数据吗?一个数据库中的两个不同的表是否相同?我知道对于插入、更新和删除数据这将是一个问题,但对于仅选择它们不应该是我认为,但我不确定当它们与另一个查询或这两个查询的顺序不同时它是否可以检索数据查询是完全独立的。

感谢您的帮助!

【问题讨论】:

  • 您具体遇到了什么问题?
  • 数据库引擎跟踪连接,如果这是您担心的问题,可以同时处理大量连接。
  • 所以只有一个连接我不能多线程,但我需要一次建立 2 个相同的连接?
  • 一般来说是的,每个同时查询需要一个连接
  • 好的,谢谢!我是新手,我不确定。这就是如何做到这一点的方式

标签: c# mysql multithreading


【解决方案1】:

如何同时从单个数据库表执行多个 SELECT 查询?

就去做吧。为每个查询使用单独的MySqlConnection:连接本身不是线程安全的。但是您可以在每个线程或进程中创建一个连接,或使用来自connection pool 的一个连接。高效地满足来自不同连接的并发查询是所有数据库服务器的核心特性。

我可以正常使用线程或任务执行多个查询吗

是的。

并且具有不同的顺序/排序标准

没问题。

我知道插入、更新和删除数据会是个问题

可以,但通常不是。数据库有事务。

【讨论】:

  • 非常感谢! :)
猜你喜欢
  • 2011-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-25
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多