• 技术文章 >数据库 >MySQL

    mysql绑定变量有哪些限制

    小妮浅浅小妮浅浅2021-06-19 11:45:21原创2657

    说明

    1、绑定变量是会话级别,因此连接间不能共用绑定变量句柄。同样,如果连接断裂,原来的句柄就不能再使用了。(连接池和持续连接可以在一定程度上缓解这个问题)

    2、在MySQL5.1之前,绑定变量的SQL不能使用查询缓存。

    3、并非所有时候使用绑定变量都能获得更好的性能。如果只执行一次SQL,使用绑定变量的方式多了一次额外的准备消费阶段,需要额外的网络费用。(为了正确使用绑定变量,使用完毕后需要释放相关资源)

    4、在当前版本下,存储函数不能使用绑定变量,但在存储过程中可以使用。

    5、如果总是忘记释放绑定变量资源,服务器方面容易发生资源泄漏。绑定变量SQL总是受到限制,因此其他错误可能会影响其他线程。

    实例

    String sql = "SELECT COUNT(*) FROM user WHERE username='"+ username+"' AND password ='"+ password +"';"
    // 如果password 传入 ' OR '1'='1这个时候sql就变成了:
    // SELECT COUNT(*) FROM user WHERE username='wzj' AND password = '' OR '1'='1'

    这个时候就是查询所有,就相当于永远为true了。

    以上就是mysql绑定变量的限制,希望对大家有所帮助。更多mysql学习指路:MySQL

    专题推荐:mysql绑定变量
    上一篇:mysql绑定变量是什么 下一篇:mysql表中插入数据的两种方法

    相关文章推荐

    • mysql唯一索引是什么• mysql组合索引如何理解• mysql错误日志文件是什么• mysql中mysqldumpslow命令的介绍• mysql查询日志的使用• mysql二进制日志是什么• mysql二进制日志有哪些作用• mysql二进制日志如何开启• mysql查看二进制日志的方法• mysql二进制日志的参数介绍• mysql外键约束的理解• mysql绑定变量是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网