Saya perlu mengubah kolom dari NOT NULL ke NULL dalam tabel yang berisi jutaan baris. Saya sudah mencoba yang sederhana
alter table Table1 ALTER COLUMN Column1 XML NULL
tapi itu butuh selamanya. Jadi inilah pertanyaanku:
- Mengapa butuh waktu lama untuk menerapkan alter?
- Apakah ada cara yang lebih baik untuk melakukannya?
sumber
sp_rename
.Setiap baris harus disentuh ketika mengubah kolom dari NOT NULL ke NULL, itulah sebabnya dibutuhkan begitu lama untuk menyelesaikannya. Tidak ada cara untuk membuatnya membutuhkan waktu lebih sedikit.
sumber
Pilihan lain adalah membuat kolom baru dengan definisi yang benar untuk tabel yang dimaksud, Perbarui kolom dengan data dari kolom lama, lalu letakkan kolom lama.
Atau Anda dapat merujuk ke pos lama dari SE yang menangani masalah serupa pada kolom INT.
/programming/4311559/sql-server-performance-for-alter-table-alter-column-change-data-type
sumber
Jika Anda membuka monitor aktivitas SQL saat perintah sedang berjalan, Anda akan dapat mengetahui apakah itu benar-benar memprosesnya atau apakah ia menunggu beberapa bentuk kunci eksklusif dari tabel.
sumber