SQL Server 2016改进了查询优化器(2)

  注:“关系型数据库管理系统”中的“关系”一词实际上并不是指表之间的关系。更确切地说,它是一个数据科学术语,是指行里的每个值和同一行里的其他所有值的关系。在数据透视表中,每个单元格都是一个独立的和或平均值,它是一个非关系型表的例子。

  连接和外键约束

  前面已经讲过,外键约束是有成本的。如果你修改一个被外键约束潜在引用的行,那么数据库就需要进行检查,以确保没有违反约束。

  在 SQL Server 2014 中,执行检查时会连接每个引用上述表的表。不难想象,开销很快就会变得非常大。为了解决这个问题,SQL Server 引入了一个新的“参照完整性运算器(Referential Integrity Operator)”。

新的查询执行运算器会就地执行参照完整性检查,比较修改的行和引用表里的行,以验证修改是否会破坏参照完整性。这会极大地减少此类计划的编译时间及相应的执行时间。

  英文原文:Query Optimizer Improvements in SQL Server 2016

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b4e2eba2b8fbc48ae7ba3d1b321594ec.html