Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengemas Kini Rekod dengan Cekap dengan Penyata KES SQL Server 2005?

Bagaimanakah Saya Boleh Mengemas Kini Rekod dengan Cekap dengan Penyata KES SQL Server 2005?

DDD
Lepaskan: 2025-01-04 12:22:36
asal
884 orang telah melayarinya

How Can I Efficiently Update Records with SQL Server 2005's CASE Statement?

Cara Mengemas kini Rekod dengan Cekap Menggunakan CASE dalam SQL Server 2005

Dalam SQL Server 2005, pernyataan CASE menawarkan cara yang serba boleh untuk melaksanakan bersyarat kemas kini. Walau bagaimanapun, apabila berurusan dengan jadual dengan bilangan rekod yang banyak, adalah penting untuk menggunakannya dengan bijak untuk mengelakkan kesesakan prestasi.

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

Pertanyaan ini berjaya mengemas kini yang ditentukan rekod berdasarkan syarat yang diberikan. Walau bagaimanapun, ia menggunakan syarat ELSE yang mengimbas setiap baris dalam jadual, walaupun yang tidak perlu dikemas kini. Ini boleh memberi kesan ketara kepada prestasi dalam jadual besar.

Untuk mengoptimumkan pertanyaan, anda boleh menambah klausa WHERE untuk menapis baris yang perlu dikemas kini:

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

Dengan menyatakan nilai khusus yang perlu dikemas kini dalam klausa WHERE, pertanyaan hanya mengimbas baris yang sepadan dengan kriteria tersebut. Ini meningkatkan prestasi dengan ketara dan memastikan baris yang tidak terjejas kekal tidak berubah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas Kini Rekod dengan Cekap dengan Penyata KES SQL Server 2005?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan