hoe zit het met het gebruik van federatieve tabellen op een van de servers? maak de federatieve tabellen op basis van de externe tabellen die u in de query gaat gebruiken en voer uw query uit alsof uw database helemaal lokaal is. voorbeeld hieronder van MySQL-site
De procedure voor het gebruik van FEDERATED-tabellen is heel eenvoudig. Normaal gesproken heb je twee servers draaien, beide op dezelfde host of op verschillende hosts. (Het is mogelijk dat een FEDERATED-tabel een andere tafel gebruikt die door dezelfde server wordt beheerd, hoewel het weinig zin heeft om dit te doen.)
Ten eerste moet u een tabel op de externe server hebben waartoe u toegang wilt door een FEDERATED-tabel te gebruiken. Stel dat de externe tabel zich in de federatieve database bevindt en als volgt is gedefinieerd:
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;
Het voorbeeld gebruikt een MyISAM-tabel, maar de tabel kan elke opslagengine gebruiken.
Maak vervolgens een FEDERATED-tabel op de lokale server voor toegang tot de externe tafel:
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';
(Gebruik vóór MySQL 5.0.13 COMMENT in plaats van VERBINDING.)