Pengoptimuman Pertanyaan: Memasukkan Data daripada Satu Jadual ke Jadual Lain dalam MySQL
Memasukkan data dari satu jadual ke jadual lain ialah operasi biasa dalam SQL. Walau bagaimanapun, apabila berurusan dengan set data yang besar, adalah penting untuk mengoptimumkan pertanyaan untuk mengelakkan isu prestasi. Pertimbangkan situasi berikut:
Dalam senario ini, anda ingin memasukkan data daripada jadual receive_txts ke dalam jadual action_2_members. Pertanyaan yang disediakan cuba untuk mencapai ini dengan terlebih dahulu melaksanakan subkueri untuk mengumpulkan data yang diperlukan dan kemudian menggunakan klausa VALUES untuk memasukkannya ke dalam jadual destinasi.
Walau bagaimanapun, pendekatan yang lebih cekap ialah menggunakan satu pernyataan INSERT dengan subkueri bersarang, seperti yang ditunjukkan di bawah:
INSERT INTO action_2_members (campaign_id, mobile, vote, vote_date) SELECT campaign_id, from_number, received_msg, date_received FROM `received_txts` WHERE `campaign_id` = '8';
Pertanyaan yang dioptimumkan ini memanfaatkan subkueri bersarang kepada dapatkan semula data yang diperlukan daripada jadual received_txts dan masukkannya terus ke dalam jadual action_2_members. Dengan menghapuskan keperluan untuk set hasil perantaraan, kaedah ini menawarkan peningkatan prestasi yang ketara, terutamanya untuk set data yang besar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengoptimumkan Penyata INSERT MySQL untuk Set Data Besar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!