Kemas Kini Jadual MySQL yang Lebih Pantas Menggunakan Nilai daripada Yang Lain
Mengemaskini jadual MySQL berdasarkan nilai daripada yang lain boleh menjadi tugas yang memakan masa, terutamanya apabila memadankan set data yang besar mengikut nilai. Untuk menangani cabaran ini, mari kita terokai pendekatan yang lebih cekap.
Pertanyaan asal, walaupun berfungsi, adalah perlahan disebabkan oleh pelbagai keadaan "WHERE". Pendekatan yang lebih disukai dan berkemungkinan lebih pantas ialah menggunakan sintaks "JOIN" untuk menyertai jadual. Pertanyaan berikut memanfaatkan "INNER JOIN" untuk memadankan baris berdasarkan lajur "nilai":
UPDATE tobeupdated INNER JOIN original ON (tobeupdated.value = original.value) SET tobeupdated.id = original.id
Selain itu, indeks pada lajur "nilai" kedua-dua jadual (untuk dikemas kini dan asal) adalah penting untuk mempercepatkan atas pertanyaan. Indeks membantu MySQL mencari baris dengan pantas berdasarkan nilai tertentu.
Selain itu, kami boleh memudahkan pertanyaan dengan lebih lanjut menggunakan klausa "USING", iaitu singkatan untuk equi-joins (gabungan berdasarkan kekunci yang dinamakan sama). Dalam kes ini, kedua-dua jadual mempunyai lajur "id" sebagai pengecam unik, jadi kami boleh menulis semula pertanyaan sebagai:
UPDATE tobeupdated INNER JOIN original USING (value) SET tobeupdated.id = original.id
Versi pertanyaan yang dikemas kini ini seharusnya meningkatkan prestasi operasi kemas kini dengan ketara. Ia memanfaatkan gabungan yang cekap dan memanfaatkan indeks untuk meminimumkan masa yang diperlukan untuk memadankan dan mengemas kini baris. Dengan mengikuti pengoptimuman ini, anda boleh mencapai kemas kini jadual MySQL anda dengan lebih pantas sambil mengekalkan integriti data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mempercepatkan Kemas Kini Jadual MySQL Menggunakan Data Dari Jadual Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!