为什么MySql不能对INSERT语句使用分区修剪?
这是一句话: MySQL可以应用分区修剪来选择、删除和更新语句。当前无法删除INSERT语句为什么MySql不能对INSERT语句使用分区修剪?,mysql,sql,insert,partitioning,Mysql,Sql,Insert,Partitioning,这是一句话: MySQL可以应用分区修剪来选择、删除和更新语句。当前无法删除INSERT语句 因此,当插入新行时,MySql可以而不是确定它属于哪个分区?听起来很奇怪。这是个错误吗?或者他们所说的法尔赛是什么意思 正如我所读到的,分区修剪优化目前依赖于解析WHERE子句来确定要访问哪些分区。INSERT语句没有WHERE子句,优化器当前也没有其他可以修剪的机制 分区修剪目前似乎是一项正在进行的工作。严格来说,可能不需要修剪insert语句。尽管所有分区都可能被锁定,但它们不必被读取。我可以很容易
因此,当插入新行时,MySql可以而不是确定它属于哪个分区?听起来很奇怪。这是个错误吗?或者他们所说的法尔赛是什么意思 正如我所读到的,分区修剪优化目前依赖于解析
WHERE
子句来确定要访问哪些分区。INSERT
语句没有WHERE
子句,优化器当前也没有其他可以修剪的机制
分区修剪目前似乎是一项正在进行的工作。严格来说,可能不需要修剪insert语句。尽管所有分区都可能被锁定,但它们不必被读取。我可以很容易想到的一个例外是通过
unique
约束验证记录,但这在所有分区中应该非常快,而不仅仅是一个分区。@GordonLinoff基本上是正确的。。。异常不存在--唯一
和外键
不被处理,因为代码不想(也不尝试)检查所有分区。