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
Lepaskan: 2025-01-04 13:58:40
asal
965 orang telah melayarinya

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

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

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!

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