当我在 SQL 语句 WHERE 类中使用“12345”等文字时,SQL 语句执行时间为 0.019 秒,但当我使用 IN 参数时,相同的 UDP 消耗 4.19 秒
CREATE DEFINER = `root`@`localhost` PROCEDURE `test_PFM`(IP_param VARCHAR(6))
BEGIN
/*
test query speed
purpose:
Use compare query out pu
Bug:
UDP takes 4 seconds when
locojourney.LocoNumber = IP_param
where as if locojourney.LocoNumber = '11516'
executes at 0.019 second
*/
DECLARE Output VARCHAR(1) ;
SELECT locojourney.IShoc
INTO Output
FROM locojourney
WHERE
locojourney.JourneySerla = (
SELECT MAX(locojourney.JourneySerla) FROM locojourney
WHERE locojourney.LocoNumber = '11516') LIMIT 1;
SELECT Output;
END;
最佳答案
我真诚地感谢 Raymond 先生和 DRapp 先生为我指明了正确的方向,实际上我正在将字符串连接到一个smallint字段。 请将话题标记为已解决。
关于MySQL存储过程消耗1 :8 times with parameter variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55559503/