2011-03-16 24 views
3

我正在分区一个表。从我读过的内容来看,SQL将根据查询谓词根据需要使用分区。例如,如果我有一个2005年至2009年间的记录分区和另一个2010年记录分区 - 当前和我选择所有记录= 2010,SQL将因为分区功能而忽略第一个分区。如果我在2008-2010年之间搜索记录,SQL将使用这两个分区,但以并行方式执行。假设我查询所有没有谓词的记录是否正确,那么SQL将(尽其所能)以并行方式使用所有分区?SQL分区,查询分析器和性能

表分区何时会导致性能瓶颈?

回答

3

所有的观点都是正确的。并行性与分区无直接关系,尽管它更有可能在分区对齐中破坏作业。

对于最后一个问题,我不知道什么时候分区会导致性能瓶颈。如果并行性给你带来性能问题,那么问题是parallelism,而不是partitioning - 我重申它们没有直接关系。 不正确并行查询的常见问题将在有或没有分区的情况下同时发生,并且解决此问题的常用方法也适用。

相关阅读:

+0

2005年,并行扫描和分区表存在特定问题(每个分区只能运行一个线程)。根据2008年的内部书“分区和非分区表之间的性能差异被最小化”不知道这是否意味着它们不存在。 – 2011-03-17 00:06:24