MySQL存储过程消耗1 :8 times with parameter variable

标签 mysql

当我在 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/

相关文章:

php - 未配置 SQL 方言 (Phpstorm)

mysql - 通过id获取最多的计数

mysql - 在表中创建单个字段的最佳方法是什么旨在保持不同表字段的计算

mysql - DATABASENAME..TABLENAME 的 MYSQL 等价物是什么?

php - SQL SUM() All with check 来自其他表

python - 从 Django 连接到 MySQL

php - 从登录页面提取 IP 并与已知用户进行比较

mysql - SQL 将数据分组到“年”+“周数”容器中

mysql - 锁定表无法按照浏览器的预期工作

java - 您可以将 JDBC 与代号一一起使用吗?