2011-07-29 6 views

答えて

1

あなたの変換が簡単な場合は、つまり、2つのSELECTステートメントで簡単にコーディングできる場合は、SELECT INTOステートメントを使用した単純なストアドプロシージャが最適です。非常に効率的で、維持する可動部品が少なくて済みます。

一方、変換ロジックが非常に複雑で変更可能な場合は、SSISを検討してください。複雑な複数ステップの変換をモデル化して維持できるようにするために存在します。

幸運を祈る!

1

私はあなたがこの1つに答える前に、自分自身に多くの質問をしなければならないと思います。ここに私が通過するものがあります...

  1. 一度限りの繰り返しですか? これは主に、サポートとパフォーマンスの質問に答える必要があるかどうかを判断することです。 1回の転送であれば、いつでも快適に感じることができますし、再度実行する必要があるときはソースコードをアーカイブしてください。
  2. 私の店の他の開発者はどんな人ですか? ここでは、私はSSISのことをたくさんやっており、ほとんどがSQL(とVB)だけです。私が離れているときにサポートするようにしたいので、タスクがあまりにも複雑でない場合は、おそらくSPに組み込みます。
  3. サーバーの負荷が低くなったり、パフォーマンスの調整が問題になる夜間に実行されますか? 昼間のものについては、ほとんどの場合、ストアドプロシージャを作成します。これは、パフォーマンス上の問題を掘り起こして調整する方が簡単なためです。パフォーマンスが問題ではない場合は、SSISを使用する可能性が高くなります。これはINSERTが速いと思うからではなく、事実の後にチューニングする方が簡単だからです。
+0

法案を再構築

  • を挿入し、あなたに感謝あなたの返信のために! – Tamila

  • +0

    これらのタスクはすべて、毎日または毎月実行される繰り返し/スケジュールされたタスクです。そのうちのいくつかは生産時に稼働し、その他はオフ時に稼動します。私はこれを扱う唯一の人なので、他の開発者にはあまり心配していません。両方のソリューションにも同じように快適です。データボリュームはそれほど大きくないので、パフォーマンスは大きな問題ではありません。今私はデータベースに両方のソリューションが混在しているので、そこに一貫性を持たせたいので、ベストプラクティスを探しています。 – Tamila

    +0

    私はベストプラクティスを選択してそれに固執すると言いますが、次の人はすべての作品を見つけることができます。それがどのように行われたかについて何も知らない次の開発者が来年になるかもしれないことを常に覚えておいてください。 – Bill

    0

    私は常に一括挿入を使用します。索引を削除し、最後に索引を再作成する必要があります。

    http://msdn.microsoft.com/en-us/library/ms188365.aspx

    1. ALTER INDEX [INDEXNAME]

    2. 表DISABLE ONバルクは、ALTER INDEXは[INDEXNAME]テーブルの上に

    関連する問題