I am using PREPARE
statement in store procedure but it is taking much time at the time of records insertion. Please suggest me the replacement for PREPARE
statement.
SET @COUNT = 0;
SET @countQuery = CONCAT("select count(ufl.id) INTO @COUNT from user_friend_list as ufl where ufl.user_id = ",@USERREGID," AND ufl.friend_user_id = ",FID);
PREPARE STMTC FROM @countQuery;
EXECUTE STMTC;
IF @COUNT = 0 THEN
INSERT INTO user_friend_list(user_id, friend_user_id) VALUES(@USERREGID,FID),(FID,@USERREGID);
END IF;
DEALLOCATE PREPARE STMTC;
Why not just do this
IF 0 = (SELECT COUNT(*)
FROM user_friend_list
WHERE user_id = @USERREGID
AND friend_user_id = FID) THEN
INSERT INTO user_friend_list(user_id, friend_user_id)
VALUES (@USERREGID,FID), (FID,@USERREGID);
END IF;
Here is SQLFiddle demo