Menyiasat Berbilang Pangkalan Data Secara Serentak
Mengakses data merentas berbilang pangkalan data boleh menjadi tugas yang rumit, terutamanya apabila menanyakan maklumat khusus yang tersebar di beberapa pangkalan data.
Senario
Pertimbangkan situasi di mana anda mempunyai beberapa pangkalan data WordPress berasingan, setiap satu mewakili tapak WordPress yang berbeza. Untuk mengemas kini ciri, anda perlu menanyakan senarai pemalam aktif untuk setiap contoh WordPress. Pemalam aktif disimpan dalam jadual 'wp_options' menggunakan klausa WHERE:
WHERE option_name = 'active_plugins'
Cabaran
Cabarannya terletak pada mendapatkan maklumat pemalam aktif daripada semua pangkalan data dan memaparkan ia sebagai hasil SQL tunggal. Walaupun sintaks database.tablename diketahui, menentukan cara menggunakan pernyataan WHERE merentas berbilang pangkalan data tetap menjadi isu.
Penyelesaian
Untuk menanyakan berbilang pangkalan data secara serentak, UNION operator boleh diambil bekerja. Operator UNION menggabungkan beberapa pernyataan SELECT ke dalam satu hasil. Dengan menggunakan operator UNION, anda boleh menggabungkan hasil daripada setiap pangkalan data dengan lancar ke dalam satu hasil SQL yang disatukan.
Pertanyaan SQL berikut menunjukkan cara untuk mencapai ini:
SELECT option_value FROM `database1`.`wp_options` WHERE option_name="active_plugins" UNION SELECT option_value FROM `database2`.`wp_options` WHERE option_name="active_plugins"
Pertanyaan ini mendapatkan semula aktif pemalam data daripada kedua-dua 'database1' dan 'database2' dan mengumpulkan hasil menjadi satu set hasil yang komprehensif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Berbilang Pangkalan Data Serentak untuk Mendapatkan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!