2017-09-01 5 views
0

サイズが100MBから20GBまでの一連のCSVファイルをロードしようとしています(合計3TB)。だから、できる限りのパフォーマンス向上が必要です。私はファイルグループ化と平均化のための分割を目指しています。私は最適なアプローチを見るために一連のテストを行った。SQL Server:複数のファイルグループを持つパーティションテーブルへの一括データの挿入

まず、さまざまなファイルグループの組み合わせを試しました。私が得意なのは、1つのファイルグループにあるテーブルにロードするときです。複数のファイルが割り当てられており、すべてが1つのディスク上に配置されています。この組み合わせは、複数のファイルグループがある場合よりも優れています。

次のステップは当然のことながらパーティショニングです。 ODDLY、私が調べたすべてのパーティションの組み合わせは、パフォーマンスが低くなっています。私はさまざまなパーティション機能/スキームとさまざまなファイルグループの組み合わせを定義しようとしました。しかし、すべてがより低いローディング速度を示した。

私はここで何が不足しているのだろうか?

これまでのところ、1GBのcsvファイルを3分間で読み込むことができました。どんな考えでも大歓迎です。

答えて

0

最適なデータ読み込み速度を得るには、まずSQL Serverのデータ読み込み処理を理解する必要があります。これは、SQL Serverが以下に述べた最適化をどのように達成するかを理解することを意味します。

  1. 最小限のログ。
  2. パラレルロード。
  3. ロックの最適化。

これらの2つの記事では、上記のすべての最適化をどのように詳細に達成できるかについて詳しく説明します。 Fastest Data Loading using Bulk Load and Minimal LoggingBulk Loading data into HEAP versus CLUSTERED Table

これが役に立ちます。

関連する問題