Pengoptimuman MySQL: Menggabungkan KEMASKINI dan PILIH dalam Pas Tunggal
Dalam senario berbilang apl biasa di mana tugas diagihkan merentas apl pekerja, penyelesaian biasa untuk memperoleh pemilikan tugas melibatkan dua operasi MySQL yang berasingan: KEMASKINI untuk menandakan tugas sebagai milik (dengan menetapkan pengecam unik global) dan SELECT untuk mendapatkan semula parameter tugas. Pendekatan ini boleh memperkenalkan potensi kesesakan prestasi, terutamanya dengan jumlah permintaan serentak yang tinggi.
Bolehkah kami meningkatkan kecekapan dengan menggabungkan kedua-dua operasi ini menjadi satu pas ke pelayan MySQL?
Jawapan:
Ya, kita boleh mencapai kesan yang diingini dalam satu panggilan pelayan menggunakan pendekatan berikut:
<code class="sql">UPDATE `lastid` SET `idnum` = (SELECT `id` FROM `history` ORDER BY `id` DESC LIMIT 1);</code>
Pertanyaan ini melaksanakan kedua-dua KEMASKINI dan operasi PILIH dalam satu transaksi atom. Begini caranya:
Dengan menggabungkan operasi KEMASKINI dan PILIH, kami menghapuskan keperluan untuk pertanyaan SELECT berasingan dan mengurangkan perjalanan pergi balik rangkaian. Pengoptimuman ini boleh meningkatkan prestasi dengan ketara, terutamanya dalam senario dengan keselarasan tinggi.
Atas ialah kandungan terperinci Bolehkah UPDATE dan SELECT Digabungkan dalam MySQL untuk Pengurusan Pemilikan Tugas yang Dipertingkatkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!