5

テーブルのパーティション分割に関する多くのエントリを見てきましたが、いつパーティションを作成すべきかについての情報はあまりありません。

SQLServerでテーブルをパーティション分割する必要がある場合の経験則はありますか。

ありがとう

4

2 に答える 2

2

私のベンチマークは、それがクエリの負荷に依存することを示しています。

  • 実行するクエリに常にパーティションフィールドにフィルターが含まれている場合、パフォーマンス上の利点は事実上瞬時に発生します(テーブル内の1000レコードがすでに有益であるなど)
  • クエリにパーティションフィールドのフィルタが常に含まれているとは限らない場合は、決定を行う前に、クエリの負荷の適切なサンプルを使用してベンチマークを行う必要があります。

また、使用するパーティションシステムも考慮する必要があります。「静的」パーティションを使用する場合、それらをすぐに作成してもそれほど害はありません。「スライディングウィンドウ」システムを使用する場合は、パーティションの作成とマージのオーバーヘッドを考慮する必要があります。(大きなテーブルでは時間がかかる場合があります)

于 2011-02-28T21:43:26.020 に答える
1

@Filipの投稿は、優れたトピックガイドです。オントロジーを実行し、アプリケーションがどのように使用されるか、つまり、ユーザーがアプリケーションをどのように操作し、それがデータベースアクセスにどのように変換されるかを見積もるときは、実行されるクエリの種類と方法についてよく理解しておく必要があります。速く特定のテーブルが大きくなります。自信がある場合は、すぐにテーブルを分割して、メンテナンスの問題を回避する必要があります。

しかし、入力されたテーブルをパーティション分割するかどうかを決定しようとしている場合、または私のように怠惰にパーティション分割を実行したい場合は、PostgreSQLドキュメントからのちょっとしたナゲットを次に示します。

テーブルがパーティショニングの恩恵を受ける正確なポイントはアプリケーションによって異なりますが、経験則では、テーブルのサイズはデータベースサーバーの物理メモリを超える必要があります。[src]

于 2011-02-28T22:00:03.417 に答える