Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengemas Kini Nilai Jadual MySQL dengan Cekap daripada Jadual Lain?

Bagaimanakah Saya Boleh Mengemas Kini Nilai Jadual MySQL dengan Cekap daripada Jadual Lain?

DDD
DDDasal
2025-01-04 13:58:40964semak imbas

How Can I Efficiently Update MySQL Table Values from Another Table?

Mengemaskini Nilai Jadual MySQL dari Yang Lain Dengan Cekap

Tinjauan Keseluruhan Masalah

Tugasnya adalah untuk mengemas kini jadual yang akan dikemas kini dengan data daripada jadual asal berdasarkan padanan nilai yang disimpan dalam medan VARCHAR(32). Pertanyaan semasa, walaupun berfungsi, mengalami masalah prestasi.

Penyelesaian

Untuk meningkatkan prestasi, pertimbangkan pertanyaan dioptimumkan berikut:

UPDATE tobeupdated
INNER JOIN original ON (tobeupdated.value = original.value)
SET tobeupdated.id = original.id

Pertanyaan ini memanfaatkan sintaks JOIN bukannya berbilang keadaan WHERE, menjadikannya lebih mudah dibaca. Selain itu, pastikan kedua-dua jadual mempunyai indeks yang dibuat pada medan nilai untuk memudahkan carian lebih pantas semasa operasi gabungan.

Pertanyaan Ringkas

Untuk pengoptimuman lanjut, versi ringkas pertanyaan menggunakan kata kunci MENGGUNAKAN disyorkan:

UPDATE tobeupdated
INNER JOIN original USING (value)
SET tobeupdated.id = original.id

Kata kunci MENGGUNAKAN digunakan apabila kedua-dua jadual dalam gabungan berkongsi kunci bernama yang sama (seperti id dalam kes ini), menandakan pengoptimuman equi-join.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas Kini Nilai Jadual MySQL dengan Cekap daripada Jadual Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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