PADAM Pukal yang Cekap dalam SQL Server 2008
Dalam pengurusan pangkalan data, keperluan untuk pemadaman data yang cekap sering timbul. Walaupun SQL Server menyediakan kenyataan DELETE standard, ia boleh memakan masa untuk set data yang besar. Soalan ini meneroka sama ada SQL Server menawarkan alternatif kepada Salinan Pukal (bcp) untuk operasi PADAM pukal.
Tidak Boleh Gunakan TRUNCATE, Gunakan WHERE Sebaliknya
Pertanyaan yang dibentangkan bertanya sama ada terdapat penyelesaian untuk DELETE pukal dalam SQL Server. Tangkapannya ialah pemadaman harus dihadkan oleh klausa WHERE, menjadikan TRUNCATE sebagai pilihan yang tidak sesuai.
Tiada Setara Salinan Pukal untuk DELETE
Malangnya, tiada pukal salinan yang setara untuk operasi DELETE dalam SQL Server. PADAM kenyataan dengan klausa WHERE mesti dilaksanakan sebagai pertanyaan SQL standard.
PADAM Kumpulan untuk Kebolehskalaan
Untuk set data yang besar, pertimbangkan operasi DELETE kelompok. Ini melibatkan pemecahan kenyataan DELETE kepada kelompok yang lebih kecil, seperti yang ditunjukkan di bawah:
SELECT 'Starting' --sets @@ROWCOUNT WHILE @@ROWCOUNT <> 0 DELETE TOP (xxx) MyTable WHERE ...
Kaedah Gantian untuk Pemadaman Peratusan Tinggi
Apabila memadamkan sebahagian besar baris, kaedah alternatif mungkin lebih cekap:
SELECT col1, col2, ... INTO #Holdingtable FROM MyTable WHERE ..opposite condition.. TRUNCATE TABLE MyTable INSERT MyTable (col1, col2, ...) SELECT col1, col2, ... FROM #Holdingtable
Atas ialah kandungan terperinci Adakah Terdapat Alternatif yang Lebih Pantas kepada Pernyataan DELETE Standard untuk Pemadaman Pukal dalam SQL Server 2008?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!