Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengemas Kini Nilai Jadual MySQL dengan Cekap daripada Jadual Lain?
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.
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.
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!