Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql max_allowed_数据包考虑了什么?_Mysql_Sql - Fatal编程技术网

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日志中,您将获得当前的数据包大小。