MySQL存储过程执行很慢
DECLARE cursorIn CURSOR FOR SELECT sopinstanceUId FROM dicomentity a WHERE NOT EXISTS(SELECT sopinstanceUId FROM Instance b WHERE a.sopinstanceUId=b.sopinstanceUId );
DECLARE cursorOut CURSOR FOR SELECT sopinstanceUId FROM dicomentity a WHERE EXISTS(SELECT sopinstanceUId FROM Instance b WHERE a.sopinstanceUId=b.sopinstanceUId );
DECLARE CONTINUE HANDLER FOR NOT FOUND SET _v_done = 1;
DELETE FROM move_file;
SELECT CONCAT(savepath,'/') INTO dest_filepath FROM dicom_filePath WHERE pathtype='default';
OPEN cursorIn;
REPEAT
FETCH cursorIn INTO ins_code;
IF NOT _v_done THEN
INSERT INTO instance(instanceNumber,patient_fk ,study_fk ,series_fk ,sopInstanceUID ,imageType , bitsAllocated , photometricInterpretation , availability , imgrows , imgcolumns , retrieveAETitle,instanceDesc ,acquisitionDate ,contentDate,updateTime,createTime,sopclassUId)
SELECT instanceNumber,patientId,studyInstanceUID, seriesInstanceUID ,sopInstanceUID ,imageType , bitsAllocated , photometricInterpretation , availability , imgrows , imgcolumns , retrieveAETitle,instanceDesc ,acquisitionDate ,contentDate,updateTime,createTime,sopclassUId FROM dicomEntity a
WHERE NOT EXISTS(SELECT 1 FROM dicomentity WHERE a.sopInstanceUID=sopInstanceUID AND a.id<id) AND sopInstanceUID =ins_code;
INSERT INTO dicom_file_info(sOPInstanceUID,fileName,filePath) VALUES (ins_code,dest_filepath,DATE_FORMAT(NOW(),'%Y/%m/%e'));
END IF;
UNTIL _v_done
END REPEAT;
CLOSE cursorIn;
DECLARE cursorOut CURSOR FOR SELECT sopinstanceUId FROM dicomentity a WHERE EXISTS(SELECT sopinstanceUId FROM Instance b WHERE a.sopinstanceUId=b.sopinstanceUId );
DECLARE CONTINUE HANDLER FOR NOT FOUND SET _v_done = 1;
DELETE FROM move_file;
SELECT CONCAT(savepath,'/') INTO dest_filepath FROM dicom_filePath WHERE pathtype='default';
OPEN cursorIn;
REPEAT
FETCH cursorIn INTO ins_code;
IF NOT _v_done THEN
INSERT INTO instance(instanceNumber,patient_fk ,study_fk ,series_fk ,sopInstanceUID ,imageType , bitsAllocated , photometricInterpretation , availability , imgrows , imgcolumns , retrieveAETitle,instanceDesc ,acquisitionDate ,contentDate,updateTime,createTime,sopclassUId)
SELECT instanceNumber,patientId,studyInstanceUID, seriesInstanceUID ,sopInstanceUID ,imageType , bitsAllocated , photometricInterpretation , availability , imgrows , imgcolumns , retrieveAETitle,instanceDesc ,acquisitionDate ,contentDate,updateTime,createTime,sopclassUId FROM dicomEntity a
WHERE NOT EXISTS(SELECT 1 FROM dicomentity WHERE a.sopInstanceUID=sopInstanceUID AND a.id<id) AND sopInstanceUID =ins_code;
INSERT INTO dicom_file_info(sOPInstanceUID,fileName,filePath) VALUES (ins_code,dest_filepath,DATE_FORMAT(NOW(),'%Y/%m/%e'));
END IF;
UNTIL _v_done
END REPEAT;
CLOSE cursorIn;
...全文
相关推荐
mysql 队列 实现并发读
为了解决这个问题,我们需要确保这两个操作作为一个原子操作,即它们要么都执行,要么都不执行,不受其他并发请求的影响。MySQL 5引入了存储过程,这可以用来封装上述操作,以确保其原子性。
MySQL存储过程中实现执行动态SQL语句的方法
在MySQL数据库中,存储过程是一种预编译的SQL语句集合,可以用来封装复杂的业务逻辑。在某些场景下,我们可能需要在存储过程中执行动态构建的SQL语句,以适应不断变化的数据操作需求。
MySQL 存储过程中执行动态SQL语句的方法
以下将详细解释如何在MySQL存储过程中执行动态SQL语句。
mysql 动态执行存储过程语句
在MySQL数据库中,动态执行存储过程语句是数据库管理和编程中的一个重要技巧,它允许开发者根据运行时的条件灵活地构建并执行SQL语句。
mysql存储过程实例
MySQL 存储过程实例MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例讲解 PHP 是如何操纵 MySQL 存储过程的。


