hvad med at bruge fødererede tabeller på en af serverne? opret de fødererede tabeller baseret på de fjerntabeller, du vil bruge i forespørgslen, og kør bare din forespørgsel, som om din database var lokal. eksempel nedenfor fra MySQL-websted
Proceduren for at bruge FEDERATED-tabeller er meget enkel. Normalt har du to servere kørende, enten begge på den samme vært eller på forskellige værter. (Det er muligt for en FEDERATED-tabel at bruge en anden tabel, der administreres af den samme server, selvom der ikke er nogen mening i at gøre det.)
Først skal du have en tabel på fjernserveren, som du vil have adgang til ved at bruge en FEDERATED-tabel. Antag, at fjerntabellen er i den fødererede database og er defineret sådan:
CREATE TABLE test_table (
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=MyISAM
CHARSET=latin1;
Eksemplet bruger en MyISAM-tabel, men tabellen kan bruge en hvilken som helst lagermotor.
Opret derefter en FEDERATED-tabel på den lokale server for at få adgang til fjerntabellen:
CREATE TABLE federated_table (
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://[email protected]_host:9306/federated/test_table';
(Før MySQL 5.0.13, brug KOMMENTAR frem for FORBINDELSE.)