web-dev-qa-db-ja.com

Oracle INTO SQL SERVER 2008R2から120万レコードをロードする平均時間

私は、毎週1回、Oracleから120万レコードのデータをロードするssisパッケージを持っていますinto SQL SERVER 2008R2(32 GB RAM)データウェアハウステーブル。 (切り捨てと読み込み)

このプロセスでは、120万レコードのロードが完了するまでに5時間かかります。

体が同じことをした場合、負荷を完了するまでの平均時間を知りたいと思いました。

私はssisが初めてです。私にアドバイスしてください。 5時間は最適な時間ですか?

注:宛先テーブルは非正規化されており、データウェアハウスにあるため、インデックスはありません。

3

所要時間は

  • 行の長さ
  • ネットワーク帯域幅
  • ソースDBサーバーで利用可能なリソース
  • そして最後に、行数などのデータ量

物事を展望するために-私は最近、同様の移行を行いました。 40列(nvarcharと数値の混合)と300万行のデータを含むテーブルは35分かかりましたが、750万行のデータ(これもnvarcharと数値の混合)を含む別のテーブルとして、104列の場合はそれ以上かかりました7時間。

逆に、1800万行のデータ、6列の3番目のテーブルは、すべて数値で14分かかりました。提供された情報では、この質問に「はい」または「いいえ」で答えることはできません。

ラージ

6
Raj

ソーステーブルと宛先テーブルのスキーマを投稿できますか?行の幅とクラスター化インデックスキーは同じですか? 5時間は最適な場合もあれば最適でない場合もあります。

ソースからのデータの読み取り速度これに影響するいくつかの要因は、ソースの読み取りパフォーマンスヒットです

  • 論理的および物理的な断片化
  • ロック/ブロッキング
  • ディスクアーキテクチャ
  • プッシュされているデータの量。

次に、表示する必要があるデータ/パッケージのトランスポート層

  • ネットワーク帯域幅/品質

SSISパッケージは、テーブルが適切に設定されていると仮定して、一括挿入を使用しようとします。 http://henkvandervalk.com/speeding-up-ssis-bulk-inserts-into-sql-server

次に、宛先の最も弱いリンクに制限されます

  • DiskIO

  • ブロッキング/ロック

  • 不正なクラスタリングキー

待機統計情報をクリアして分析し、負荷クエリに関連する待機統計情報を表示し、次のようなブログからSSISパッケージを高速化する方法を読む必要があります。 http://www.simple-talk.com/ sql/reporting-services/using-sql-server-integration-services-to-bulk-load-data /

1
Ali Razeghi