称为并行返回结果的存储过程顺序执行

时间:2013-02-14 06:08:44

标签: mysql database stored-procedures

我们在MYSQL中编写了存储过程

如果从一个线程调用存储过程,则需要2.5秒才能返回结果

如果从3个线程调用存储过程,则需要大约8.5秒才能返回结果。每个帖子几乎都在同一时间。

我们正在使用MyISM,如果我们需要对要执行的程序进行任何设置,请告诉我。我们只在存储过程中检索(选择)没有更新/插入

1 个答案:

答案 0 :(得分:1)

增加从MySQL提取数据的线程数不一定会增加吞吐量。您在多个线程中执行相同的查询,这增加了上下文切换的开销。

要利用线程,您需要利用空闲时间(实际空闲时间),如输入/输出/网络延迟。 例如:

  • 线程从MySQL中提取一些数据并开始处理,比如通过接口发送通知。如果该接口是同步的,那么线程就会卡住。
  • 获取更多线程为您完成工作,即从DB(空闲)中提取数据并处理。

没有这样的延迟/空闲线程只会引起IMO的开销。