Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 称为并行的存储过程按顺序返回结果_Mysql_Database_Stored Procedures - Fatal编程技术网

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

Mysql 称为并行的存储过程按顺序返回结果,mysql,database,stored-procedures,Mysql,Database,Stored Procedures,我们用MYSQL编写了存储过程 如果从一个线程调用存储过程,则返回结果需要2.5秒 如果从3个线程调用存储过程,则返回结果大约需要8.5秒。每个线程占用的时间几乎相同 我们正在使用MyISM,如果我们需要为并行执行的过程进行任何设置,请告诉我。我们只是在存储过程中检索(选择)未完成更新/插入增加从MySQL中提取数据的线程数量不一定会增加吞吐量。您在多个线程中执行相同的查询,这增加了上下文切换的开销 要利用线程,您需要利用空闲时间(实际空闲时间),如输入/输出/网络延迟。 例如: 线程从MyS

我们用MYSQL编写了存储过程

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

如果从3个线程调用存储过程,则返回结果大约需要8.5秒。每个线程占用的时间几乎相同


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

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

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

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

如果没有这样的延迟/空闲线程只会带来开销。

即使同时请求也会进行上下文/进程切换。从数据库中提取数据也是如此。多出1秒钟是上下文切换的开销。当MySQL空闲且所有现有线程忙于处理从MySQL提取的一些数据时,使用更多线程。当执行3个线程时,每个线程需要8.5秒。->总共8.5*3您的意思是线程需要25.5秒,顺序调用只需要7.5秒?那更糟。。!