1

SQL Server 2005 でテーブル パーティションの現実的な最大数に達した人がいるのだろうかと思っています。ドキュメントには、テーブルごとに 1000 パーティションの制限があると記載されていることは知っていますが、それを信じるのに苦労しています。 1000 個のパーティションがすべて使用可能になります。

どんな助けでも大歓迎です。

ウェイン・E・フェファー

4

2 に答える 2

0

別の方法から始めます-2つのパーティションが多すぎるかどうかを尋ねます。あなたはあなたのクエリがパーティションの除去を行うかどうかを知りたいです。SQL Server 2005のパーティションの削除はあまりうまく機能しません。また、WHERE句の一部としてパーティション化されたフィールドがない場合、SQLServerはとにかくすべてのパーティションをスキャンすることがよくあります。たとえば、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クエリに対してパーティションスキームが完全に機能することを確認してから、機能する場合はそれを使用することをお勧めします。パーティションをより厳密に洗練するほど、パーティションを削除するときに読み取りクエリの実行が速くなります。

于 2010-02-22T13:02:20.773 に答える
0

操作をスクリプト化する可能性が最も高いため、1000 個のパーティションが必要な場合でも、管理上の問題にはなりません。より多くのパーティション = より小さなパーティション。したがって、巨大なデータがある場合は、パーティションを増やすと便利です。

ただし、これらの制限 (列数の制限やハードウェアに関係のないその他の最大値など) に近づき始めると、設計の再考を開始する必要がある場合があります。

于 2010-01-26T23:02:08.063 に答える