invoice_data
12 年間の請求書に関するデータを含むテーブルを考えてみましょう。このデータは毎日キューブにロードされます。ロードするたびに、最新の 2 年間が削除されinvoice_data
、最後の 2 年間のデータがライブ システムによって再度インポートされます。(古いデータセットでも値が変わる可能性があるため、これを行います)
このdelete
ステートメントには約 15 分かかりますが、 を使用することはできませtruncate
ん。これは、12 年全体をロードする必要があり、さらに時間がかかるためです。
質問:
invoice_dat
このように大きなテーブルを分割するのは良いデザインですか?
invoice_data_old
、 を含むyears < actual year - 2
invoice_data_new
、 を含むyears >= actual year -2
このように、truncate
onを使用でき、ステートメントinvoice_data_new
を使用する必要はありませんか?delete
より良いアプローチはありますか?
SQL SERVER 2008 を使用していますが、これは一般的な質問だと思います。