Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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过程。错误代码2013,重复时给出错误代码1205_Mysql_Sql_Stored Procedures_Mysql Workbench - Fatal编程技术网

执行大型mysql过程。错误代码2013,重复时给出错误代码1205

执行大型mysql过程。错误代码2013,重复时给出错误代码1205,mysql,sql,stored-procedures,mysql-workbench,Mysql,Sql,Stored Procedures,Mysql Workbench,我编写了以下过程,以在一个有700000个条目的数据库上运行。 我有一个超时错误,所以我将超时时间延长到6000而不是600。这并没有解决问题。我得到了一个丢失连接错误,然后我重复调用,它给出了一个锁等待超时错误 有没有更有效的方法来完成同样的任务 代码连接两个表,获取事件发生的计数,并最终显示该计数大于零的百分比 DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `EvaluateOutput4`() BEGIN decla

我编写了以下过程,以在一个有700000个条目的数据库上运行。 我有一个超时错误,所以我将超时时间延长到6000而不是600。这并没有解决问题。我得到了一个丢失连接错误,然后我重复调用,它给出了一个锁等待超时错误

有没有更有效的方法来完成同样的任务

代码连接两个表,获取事件发生的计数,并最终显示该计数大于零的百分比

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `EvaluateOutput4`()

BEGIN

declare v_max int default (Select  count(*) FROM tracker.results);
declare v_counter int default 0;
start transaction;

while v_counter < v_max do


 SET @v1 :=
(Select  count(*)
 FROM tracker.Meetings LEFT outer JOIN  tracker.Visits  on tracker.Meetings.visit1 =tracker.Visits.id or tracker.Meetings.visit2 =tracker.Visits.id 
where (tracker.Meetings.user1= (Select VehicleID from tracker.results where RecordID= v_counter) or tracker.Meetings.user2=(Select VehicleID from tracker.results where RecordID= v_counter) ) 
and tracker.Visits.node=(Select Node from tracker.results where RecordID= v_counter)  
and HOUR(time)>=(Select ArrivalTime from tracker.results where RecordID= v_counter) -1 
and HOUR(time)<=(Select ArrivalTime from tracker.results where RecordID= v_counter)+1) ;


Update results  set results.Count=  @v1
Where results.RecordID=v_counter;

set v_counter = v_counter + 1;

end while;

SET @v2 := (Select count(*)from results where results.Count !=0 );
Set @v4 :=(@v2*100/v_max); 
select @v4;

 commit;

END