allowMultiQueries 究竟做了什么?

Pau*_*per 7 mysql connection-string jdbc

添加allowMultiQueries=true到 JDBC 字符串使 MySQL 接受具有多个查询的语句。

但这究竟有什么作用呢?这有什么好处吗?

也许它减少了由于往返而造成的延迟?就像是

LOCK
UPDATE ...
UNLOCK
Run Code Online (Sandbox Code Playgroud)

如果在一个语句中完成,则锁定时间更短。

什么时候,如果有的话,我想在单个语句中组合查询,而不是在单独的语句中?

Mic*_*bot 1

如果有的话,什么时候我想将查询组合在单个语句中,而不是单独的语句中?

此功能有两个很好的用例:

  • 如果您很懒并且喜欢盲目地运行查询而不检查成功或行计数或 auto_increment 值分配,或者

  • 如果您喜欢增加 SQL 注入漏洞几率的想法username ='' AND 0 = 1;←就在这里。当此模式处于非活动状态时,注入的分号后面的任何内容都是错误,正如它应该的那样。激活此模式后,整个“哎呀”世界就会打开。

我想说的是...你是对的。不要使用它。

是的,它减少了数据库往返时间、管道查询的影响……这对于远程数据库可能很重要……但代价是增加了不值得的风险。