Mengemas kini Rekod Selektif dengan Penyata CASE dalam SQL Server 2005
Pernyataan SQL yang diberikan menggunakan pernyataan CASE untuk mengemas kini rekod tertentu berdasarkan NAMA LASTNAME mereka nilai. Walau bagaimanapun, kebimbangan timbul daripada keadaan ELSE yang merangkumi semua baris, yang membawa kepada pemprosesan yang tidak perlu. Untuk menangani perkara ini, penyelesaian yang dioptimumkan dicadangkan.
Untuk meminimumkan pengimbasan yang tidak diperlukan, seseorang boleh memasukkan klausa WHERE ke dalam pernyataan seperti berikut:
UPDATE dbo.TestStudents SET LASTNAME = CASE WHEN LASTNAME = 'AAA' THEN 'BBB' WHEN LASTNAME = 'CCC' THEN 'DDD' WHEN LASTNAME = 'EEE' THEN 'FFF' ELSE LASTNAME END WHERE LASTNAME IN ('AAA', 'CCC', 'EEE');
Dalam kod yang disemak ini, WHERE klausa mengehadkan operasi kemas kini hanya kepada nilai LASTNAME yang diminati ('AAA', 'CCC' dan 'EEE'). Ini memastikan bahawa baris yang tidak terjejas kekal tidak berubah sementara kemas kini yang dimaksudkan dilakukan dengan cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengoptimumkan Kemas Kini Pelayan SQL Menggunakan Pernyataan CASE dan Klausa WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!