mysqlストレージプロシージャは、このストレージプロシージャを1万回連続して呼び出すと、遅くなります.

743 ワード

DELIMITER $$

USE `ddd`$$

DROP PROCEDURE IF EXISTS `cc`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cc`(IN p_strRealName VARCHAR(50) ,IN p_strNo VARCHAR(20) , IN p_note VARCHAR(18), IN p_dateline INT(8))
BEGIN
	SET @X = 0;
	
          SELECT COUNT(*) AS b INTO @X FROM cc WHERE strRealName = p_strRealName AND strNo = p_strNo AND note= p_note ;
          
          IF(@X <= 0) THEN
          
		INSERT INTO cc SET  strRealName = p_strRealName,  strNo = p_strNo , note= p_note,dateline= p_dateline ;
			
          END IF;		
			
    END$$

DELIMITER ;

  
 
まずデータがあるかどうかを判断して、存在するなら挿入しないで、さもなくば挿入します!
   
 
 
転載先:https://www.cnblogs.com/flex_fly/archive/2012/08/06/2625540.html