Mysql max_allowed_数据包考虑了什么?
如果我添加一个Mysql max_allowed_数据包考虑了什么?,mysql,sql,Mysql,Sql,如果我添加一个对于我的MySQL查询,这是否与max\u allowed\u数据包的长度相对应?添加空格怎么样?这算不算?MySQL是否自动添加一个如果它不存在 即 就max\u allowed\u packet长度而言,以下内容是否相同: INSERT INTO table_name (col_name) VALUES ( 1 ) , ( 2 ); INSERT INTO table_name (col_name) VALUES (1),(2) 如果它们是相同的,我如何通过编程知道MySQL
对于我的MySQL查询,这是否与max\u allowed\u数据包的长度相对应?添加空格怎么样?这算不算?MySQL是否自动添加一个代码>如果它不存在
即
就max\u allowed\u packet
长度而言,以下内容是否相同:
INSERT INTO table_name (col_name) VALUES ( 1 ) , ( 2 );
INSERT INTO table_name (col_name) VALUES (1),(2)
如果它们是相同的,我如何通过编程知道MySQL认为查询需要多长时间?max_allowed_数据包指定服务器接收和预处理SQL语句后要执行的最大长度;例如,这包括创建插入值列表(如果有)。所以,到那时,就没有尾随空格之类的东西了。我不确定“;”,但我最好的猜测是,如果它不存在,则会在预处理您的语句时添加它。否,空格与作为服务器变量的max\u allowed\u数据包无关。
正如您可以检查的那样,机器上的MySQL客户机将接收到的字符串转换为正确的数据类型,同时删除额外的不受关注的空白,MySQL连接器也是如此
这意味着两个查询被视为相同的
因此,您应该只关心SQL查询的可读性,而忽略空格
检查
- 使用WIRESHARK捕获mysql数据包
- 如果你对深潜感兴趣。浏览您正在使用的MySQL客户端或MySQL连接器的源代码
您可以做的一个简短测试是将限制降低到1K,例如,创建一个大于1K的查询。在后面的查询中,添加空格或;,在MySQL日志中,您将获得当前的数据包大小。