Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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不能对INSERT语句使用分区修剪?_Mysql_Sql_Insert_Partitioning - Fatal编程技术网

为什么MySql不能对INSERT语句使用分区修剪?

为什么MySql不能对INSERT语句使用分区修剪?,mysql,sql,insert,partitioning,Mysql,Sql,Insert,Partitioning,这是一句话: MySQL可以应用分区修剪来选择、删除和更新语句。当前无法删除INSERT语句 因此,当插入新行时,MySql可以而不是确定它属于哪个分区?听起来很奇怪。这是个错误吗?或者他们所说的法尔赛是什么意思 正如我所读到的,分区修剪优化目前依赖于解析WHERE子句来确定要访问哪些分区。INSERT语句没有WHERE子句,优化器当前也没有其他可以修剪的机制 分区修剪目前似乎是一项正在进行的工作。严格来说,可能不需要修剪insert语句。尽管所有分区都可能被锁定,但它们不必被读取。我可以很容易

这是一句话:

MySQL可以应用分区修剪来选择、删除和更新语句。当前无法删除INSERT语句


因此,当插入新行时,MySql可以而不是确定它属于哪个分区?听起来很奇怪。这是个错误吗?或者他们所说的法尔赛是什么意思

正如我所读到的,分区修剪优化目前依赖于解析
WHERE
子句来确定要访问哪些分区。
INSERT
语句没有
WHERE
子句,优化器当前也没有其他可以修剪的机制


分区修剪目前似乎是一项正在进行的工作。

严格来说,可能不需要修剪insert语句。尽管所有分区都可能被锁定,但它们不必被读取。我可以很容易想到的一个例外是通过
unique
约束验证记录,但这在所有分区中应该非常快,而不仅仅是一个分区。@GordonLinoff基本上是正确的。。。异常不存在--
唯一
外键
不被处理,因为代码不想(也不尝试)检查所有分区。