相关疑难解决方法(0)

程序mysql用光标太慢..为什么?

我使用游标创建了一个Mysql程序,但运行速度太慢......它的输出速度在40到60行之间..请参阅:

DELIMITER $$
CREATE PROCEDURE sp_create(IN v_idsorteio INT,OUT afetados INT)
  BEGIN
        DECLARE done INT default 0;
        DECLARE vc_idsocio INT;
        DECLARE z INT;
        DECLARE cur1 CURSOR FOR select IdSocio from socios where Sorteio=1  and Finalizado='S' and CodClientes IS NOT NULL;
        DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;
        SET z=1;
        OPEN cur1;
        FETCH cur1 INTO vc_idsocio;
        WHILE done=0 DO
            -- SELECT register as t; 
            insert INTO socios_numeros_sorteio (IdSocio,IdSorteio,NumerodeSorteio) VALUES (vc_idsocio,v_idsorteio,z);
            FETCH cur1 INTO vc_idsocio;
            SET z = z+1;
        END WHILE;
        CLOSE …
Run Code Online (Sandbox Code Playgroud)

mysql performance procedure cursor

3
推荐指数
1
解决办法
5707
查看次数

标签 统计

cursor ×1

mysql ×1

performance ×1

procedure ×1