Rumah > pangkalan data > tutorial mysql > Adakah Terdapat Alternatif yang Lebih Pantas kepada Pernyataan DELETE Standard untuk Pemadaman Pukal dalam SQL Server 2008?

Adakah Terdapat Alternatif yang Lebih Pantas kepada Pernyataan DELETE Standard untuk Pemadaman Pukal dalam SQL Server 2008?

Susan Sarandon
Lepaskan: 2025-01-03 10:29:43
asal
829 orang telah melayarinya

Is There a Faster Alternative to Standard DELETE Statements for Bulk Deletion in SQL Server 2008?

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 ...
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan