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