image

编辑人: 浅唱

calendar2025-03-20

message4

visits793

MYSQL预处理与绑定变量作用是什么?为什么要用?

  • PREPARE 语句:SET@sql1=‘xxx’; PREPARE stmt1 FROM @sql1;
  • 变量用问号代替(绑定变量)。
  • 作用:将SQL预先解析,在一个Session内再次使用此语句时不再重新解析。
  • EXECUTE 语句:EXECUTE stmt1 USING @val1,@val2;
  • 作用:将绑定变量赋予具体的值并且执行。
  • DEALLOCATE 语句: DEALLOCATE PREPARE stmt1;
  • 作用:销毁一个预解析SQL,释放资源。
  • 为何使用绑定绑定变量?
  • 因为绑定变量比直接传值更安全,尤其是拼接SQL非常容易被注入攻击。同时绑定变量也可以提高一点效率。
  • 为何使用预处理,尤其在存储过程?
  • 因为预处理可以避免SQL的反复解析,尤其是执行速度快的小SQL,解析时间甚至可能超过执行时间,采用预处理可以显著提高性能。



创作类型:
原创

本文链接:MYSQL预处理与绑定变量作用是什么?为什么要用?

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share