Performa tabel temporal versi sistem yang dioptimalkan memori
Berlaku untuk: SQL Server 2016 (13.x) dan Azure SQL Database Azure SQL Managed Instance yang lebih baru
Artikel ini membahas beberapa pertimbangan performa tertentu saat menggunakan tabel temporal yang dioptimalkan memori versi sistem.
Saat Anda menambahkan penerapan versi sistem ke tabel non-temporal yang ada, harapkan dampak performa pada operasi pembaruan dan penghapusan, karena tabel riwayat diperbarui secara otomatis.
Pertimbangan performa
Setiap pembaruan dan penghapusan direkam dalam tabel riwayat memori internal yang dioptimalkan. Anda mungkin mengalami konsumsi memori yang tidak terduga jika beban kerja Anda menggunakan dua operasi tersebut secara besar-besaran. Oleh karena itu kami menyarankan Anda pertimbangan berikut:
Jangan melakukan penghapusan besar-besaran dari tabel saat ini dalam satu langkah. Pertimbangkan untuk menghapus data dalam beberapa batch, dengan data yang dipanggil secara manual di antaranya, dengan sp_xtp_flush_temporal_history, atau saat
SYSTEM_VERSIONING = OFF
.Jangan melakukan pembaruan tabel besar sekaligus, karena dapat mengakibatkan konsumsi memori yang dua kali lipat jumlah memori yang diperlukan untuk memperbarui tabel yang dioptimalkan memori non-temporal. Konsumsi memori ganda ini bersifat sementara, karena tugas flush data bekerja secara teratur untuk menjaga konsumsi memori tabel penahapan internal dalam batas yang diproyeksikan dalam keadaan stabil. Batasnya adalah 10 persen dari konsumsi memori tabel temporal saat ini. Pertimbangkan untuk melakukan pembaruan besar-besaran dalam beberapa batch, atau saat
SYSTEM_VERSIONING = OFF
, seperti menggunakan pembaruan untuk mengatur default untuk kolom yang baru ditambahkan.
Periode aktivasi untuk tugas flush data tidak dapat dikonfigurasi, tetapi Anda dapat menjalankan sp_xtp_flush_temporal_history secara manual sesuai kebutuhan.
Pertimbangkan untuk menggunakan penyimpan kolom berkluster sebagai opsi penyimpanan untuk tabel riwayat berbasis disk, terutama jika Anda berencana untuk menjalankan kueri analitik pada data historis yang menggunakan fungsi agregat atau windowing. Dalam hal ini, indeks penyimpan kolom berkluster adalah pilihan optimal untuk tabel riwayat Anda. Indeks penyimpan kolom berkluster menyediakan kompresi data yang baik, dan berulah dengan cara yang mudah disisipkan, selaras dengan cara data riwayat dihasilkan.
Konten terkait
- Tabel temporal versi sistem dengan tabel memori yang dioptimalkan
- Membuat tabel temporal versi sistem yang dioptimalkan memori
- Bekerja dengan tabel temporal versi sistem yang dioptimalkan memori
- Memantau tabel temporal versi sistem yang dioptimalkan memori
- Tabel temporal
- Pemeriksaan konsistensi sistem tabel temporal
- Mengelola retensi data historis dalam tabel temporal versi sistem
- Tampilan dan fungsi metadata tabel temporal