2011-03-16 44 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