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