Kami saat ini mengalami beberapa masalah kinerja karena basis data kami terlalu besar. Ada data yang disimpan dari 10 tahun terakhir dan saya tidak melihat alasan mengapa data yang lebih tua dari 2 tahun harus disimpan dalam tabel yang sama dengan data baru.
Sekarang karena saya tidak memiliki pengalaman yang sangat mendalam dalam mengelola basis data, saya mencari cara terbaik untuk mengarsipkan data lama.
Info
Ada sekitar 310'000'000 catatan dalam database secara total.
Basis data membutuhkan 250 GB pada hard disk.
- Versi Server adalah SQL Server 2008 dengan tingkat kompatibilitas SQL Server 2005 (90), tetapi kami berencana untuk meningkatkan ke SQL Server 2012 segera
Saya telah memikirkan dua kemungkinan:
Database Baru
Buat Database yang mirip dengan yang ada di server produksi dan masukkan semua data lama ke dalam database baru.
- Kerugian: Karena server tertaut tidak diizinkan di lingkungan kita, akan sulit untuk bergabung dengan data lama jika diperlukan
Skema Sejarah
Buat skema baru fe [hist] dengan tabel yang sama seperti dalam database produksi. Masukkan semua data lama dalam tabel baru ini dalam skema baru.
- Keuntungan: Mudah bergabung, jika data lama akan dibutuhkan di masa depan
- Apakah Anda lebih suka salah satu solusi daripada yang lain?
- Mengapa?
- Apakah ada kemungkinan yang lebih baik?
- Apakah ada alat yang ada yang memungkinkan tugas ini mudah?
- Ada pemikiran lain?
Terima kasih sebelumnya
Edit
Pertanyaan tambahan:
Apakah tabel arsip yang baru dibuat juga memerlukan kunci primer / asing?
Atau haruskah mereka hanya memiliki kolom tetapi tanpa kunci / batasan?