私は3つのテーブルa b c
abとcを持っており、すべてIDを介して関連付けられていますa.id = b.id = c.id
私の仕事はa.date
、6か月以上前のabとcからすべての行を選択し、アーカイブ用に新しいデータベースに挿入することです。
これが私がこれまでに持っているものです:
insert into dbArchive.a select * from db.a where receivedDate < CURRENT_DATE() - INTERVAL 6 MONTH;`
これは、6か月より古いテーブルaからすべてのエントリを選択し、それらをアーカイブデータベーステーブルaに挿入するようです。
同じIDを持つテーブルbとcからすべての行を検索し、それらをアーカイブデータベーステーブルbとcに挿入するための最良かつ最も効率的な方法は何ですか?
6か月以上経過したレコードが100万件以上あるので、パフォーマンスの問題にうんざりしています。