Saya memiliki beberapa tabel yang sangat besar dalam database saya, tetapi sebagian besar dari data ini adalah "lama".
Karena keadaan di luar kendali saya, saya tidak diizinkan untuk menghapus data "lama" ini. Keterbatasan lainnya adalah saya tidak bisa memodifikasi database, artinya menambahkan filegroup ke dalamnya. Cara semuanya berdiri sekarang, semuanya berada di PRIMARY
grup file.
Saya berpikir untuk mem-partisi tabel-tabel ini menjadi beberapa partisi, seperti "baru", "lama", "diarsipkan" dan sejenisnya. Saya memiliki kolom "status" yang ingin saya gunakan untuk tujuan ini.
Mengingat skenario dan batasan yang dijelaskan, saya bertanya-tanya apakah partisi masuk akal di sini. Dengan kata lain, jika tabel saya dipartisi dengan cara ini, tetapi semua partisi berada di filegroup yang sama, SQL Server akan cukup pintar untuk menemukan area khusus di file yang mendasarinya di mana data "baru" saya berada dan tidak menyentuh area dengan data "lama"?
Dengan kata lain, jika, katakanlah, 80% dari data saya "lama". Apakah SQL Server memiliki mekanisme untuk menghindari mengakses 100% dari file yang mendasarinya dan mengakses hanya 20% yang berisi data "baru" (dengan asumsi, tentu saja, saya menentukan kolom partisi saya di WHERE
klausa pertanyaan).
Saya kira untuk menjawab ini, orang perlu memahami bagaimana partisi diterapkan secara internal. Saya menghargai petunjuk apa pun.