Откуда вступает закон убывающей отдачи в отношении табличных разделов в SQL Server 2005? - PullRequest
1 голос
/ 26 января 2010

Мне интересно, сталкивался ли кто-нибудь с реалистичным максимальным количеством разделов таблиц в SQL Server 2005. Я знаю, что документы утверждают, что существует ограничение в 1000 разделов на таблицу, но мне трудно поверить что без большого количества взлома и оскорблений, что 1000 разделов будут все, что можно использовать.

Любая помощь приветствуется.

Уэйн Э. Пфеффер

Ответы [ 2 ]

0 голосов
/ 22 февраля 2010

Начните с другого пути - спросите, не слишком ли много разделов. Вы хотите узнать, будут ли ваши запросы вообще удалять разделы. Удаление разделов в SQL Server 2005 работает не слишком хорошо, и если у вас нет разделенных полей как части предложения WHERE, SQL Server часто все равно сканирует каждый раздел. Например, если у меня есть таблица SalesDetail, разделенная на CustomerID, это может не сделать удаление раздела:

SELECT *
  FROM dbo.SalesReps sr
  INNER JOIN dbo.Customers c ON sr.SalesRepID = c.SalesRepID
  INNER JOIN dbo.Sales s ON c.CustomerID = s.CustomerID
  WHERE sr.SalesRepID = 10

Несмотря на то, что у SalesRep 10 всего пара клиентов, механизм недостаточно умен, чтобы сначала составить список подходящих клиентов, а затем запрашивать только разделы Sales для этих клиентов. Это поразит каждый раздел. Поэтому я бы порекомендовал убедиться, что ваша схема разбиения работает вообще для ваших запросов SELECT, а затем, если это так, запустите ее. Чем точнее вы сможете получить свои разделы, тем быстрее будут выполняться ваши запросы на чтение, когда они удаляют разделы.

0 голосов
/ 27 января 2010

Скорее всего, вы запишете свои операции, поэтому, если вам нужно 1000 разделов, это не будет проблемой управления. Больше разделов = меньшие разделы. Так что, если у вас есть огромные данные, может быть полезно иметь больше разделов.

Однако, когда вы начинаете приближаться к этим пределам - таким как пределы столбца # или другие подобные максимумы, не связанные с аппаратным обеспечением, вы можете начать переосмысление своего дизайна.

...