vad sägs om att använda förenade tabeller på en av servrarna? skapa de förenade tabellerna baserat på fjärrtabellerna du kommer att använda i frågan och kör bara din fråga som om din databas var lokal. exempel nedan från MySQL-webbplats
Proceduren för att använda FEDERATED-tabeller är mycket enkel. Normalt har du två servrar igång, antingen båda på samma värd eller på olika värdar. (Det är möjligt för en FEDERATED-tabell att använda en annan tabell som hanteras av samma server, även om det inte är någon mening med det.)
Först måste du ha en tabell på fjärrservern som du vill komma åt genom att använda en FEDERATED-tabell. Antag att fjärrtabellen finns i den förenade databasen och är definierad så här:
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;
Exemplet använder en MyISAM-tabell, men tabellen kan använda vilken lagringsmotor som helst.
Skapa sedan en FEDERATED-tabell på den lokala servern för åtkomst till fjärrtabellen:
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';
(Innan MySQL 5.0.13, använd COMMENT snarare än CONNECTION.)