我很好奇。我想知道蜂窝分区和多个表的区别。我知道分区的目的是为了减少查询对象。我认为分区和多个表之间是一样的。有什么不同?
分区和"并行"表非常相似。事实上,SQL Server有一个使用"分区视图"的分区实现,它将多个表组合成一个视图。分区表和多个表合并为一个表之间的区别既微妙又明显,但归根结底是:表就是表就是表。
这会产生什么影响?首先,用户不需要知道分区就可以使用表。对于存储在多个表中的数据,用户需要知道表名,因为SQL需要FROM
子句中的名称。
其次,数据库引擎知道分区,但不一定知道多个表是如何组合的。使用分区的查询在WHERE
子句中而不是在FROM
子句中选择分区。理解数据结构的负担从用户转移到了编译器身上。
还有其他不同之处。分区通常具有相同的列和类型。分区通常具有相同的索引和集群属性。分区可以根据数据的内容动态添加。可以在不影响现有查询的情况下添加和删除分区。