Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menyertai Jadual MySQL Merentasi Pelayan Berbeza?

Bagaimanakah Saya Boleh Menyertai Jadual MySQL Merentasi Pelayan Berbeza?

Barbara Streisand
Lepaskan: 2024-12-08 15:38:10
asal
505 orang telah melayarinya

How Can I Join MySQL Tables Across Different Servers?

Soalan Dua Jadual daripada Pelayan Berbeza dalam MySQL dengan Enjin Bersekutu

Soalan:

Adakah adalah mungkin untuk menyertai jadual daripada dua pelayan MySQL yang berbeza dalam satu pertanyaan?

Penyelesaian:

Ya, mungkin menggunakan Enjin Bersekutu MySQL.

Pelaksanaan:

Untuk menyertai jadual daripada dua pelayan berbeza, anda mesti membuat jadual bersekutu yang menghala ke jadual jauh dahulu. Jadual bersekutu mesti mempunyai struktur yang sama seperti jadual asal.

Berikut ialah contoh mencipta jadual bersekutu bernama federated_table1 yang menunjuk ke jadual jauh bernama table1 pada pelayan1:

CREATE TABLE federated_table1 (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://fed_user@server1:3306/db1/table1';
Salin selepas log masuk

Sebaik sahaja anda telah mencipta jadual bersekutu, anda boleh menyertainya seperti biasa jadual:

SELECT a.field1, b.field2
FROM federated_table1 a
INNER JOIN federated_table2 b
ON a.field1 = b.field2;
Salin selepas log masuk

Nota:

  • Pengguna yang dinyatakan dalam rentetan CONNECTION mesti mempunyai keistimewaan yang diperlukan untuk mengakses jadual jauh.
  • Prestasi pertanyaan bersekutu mungkin berbeza bergantung pada kependaman rangkaian dan beban pada alat kawalan jauh pelayan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual MySQL Merentasi Pelayan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan