Kami memiliki basis data produksi yang sangat besar, ukurannya sekitar 300GB. Apakah ada pendekatan untuk meningkatkan kinerja permintaan penghapusan? Saat ini kecepatan penghapusan antara 1-10k per menit, ini sangat lambat bagi kami.
Kami memiliki basis data produksi yang sangat besar, ukurannya sekitar 300GB. Apakah ada pendekatan untuk meningkatkan kinerja permintaan penghapusan? Saat ini kecepatan penghapusan antara 1-10k per menit, ini sangat lambat bagi kami.
Jawaban:
Jika Anda mencoba untuk menghapus sejumlah besar baris dalam satu pernyataan, maka kemungkinan Anda sedang menunggu aktivitas log. Jadi kamu bisa:
TRUNCATE
atau DROP
/ CREATE
.SELECT INTO
untuk meletakkan data yang ingin Anda simpan ke tabel lain, lalu TRUNCATE
, pindahkan porsi kecil kembali. (Atau cukup jatuhkan tabel lama, ganti nama baru, dan gunakan kembali batasan / izin dll.)CHECKPOINT
menghapus log alih-alih mengambil cadangan log, tetapi Anda harus memastikan untuk mengembalikannya dan mengambil cadangan lengkap baru untuk memulai kembali rantai log .Ada beberapa petunjuk, tetapi versi mana yang Anda gunakan? Apakah ini edisi perusahaan? Bagaimanapun:
Tambahkan detail, ketika Anda bekerja dengan database besar tidak ada jawaban yang valid.
Anda harus mencoba menghapusnya sepotong demi sepotong, mungkin menghapus dalam lingkaran, masing-masing menghapus iterasi itu transaksi sendiri dan kemudian menghapus log pada akhir setiap iterasi loop.
Selain itu, Anda perlu menemukan nomor yang akan Anda gunakan sebagai nilai dalam chunk untuk menghapus catatan. Perlu pengujian menyeluruh, akan lebih baik jika Anda bisa menguji nilai chunk di UAT terlebih dahulu.
Pada cara melanjutkan, akan merujuk Anda ke Hancurkan operasi penghapusan besar menjadi potongan-potongan
hapus bisa lambat jika tabel besar memiliki kunci asing rekursif.
jika demikian, temukan waktu yang tepat, nonaktifkan layanan dependend, nonaktifkan kunci asing rekursif, lakukan penghapusan besar-besaran, lalu pulihkan kunci asing lagi.
Menambahkan beberapa poin lagi ...
tablock
opsi.Untuk mendapatkan bantuan lebih lanjut, kirim pertanyaan yang Anda gunakan, info tabel plus info pemblokiran.