co powiesz na używanie tabel federacyjnych na jednym z serwerów? Utwórz tabele federacyjne na podstawie tabel zdalnych, których użyjesz w zapytaniu, i po prostu uruchom zapytanie tak, jakby cała baza danych była lokalna. przykład poniżej z witryna MySQL
Procedura korzystania z tabel FEDERATED jest bardzo prosta. Zwykle masz uruchomione dwa serwery, oba na tym samym hoście lub na różnych hostach. (Tabela FEDERATED może używać innej tabeli zarządzanej przez ten sam serwer, chociaż nie ma to większego sensu).
Po pierwsze, musisz mieć tabelę na serwerze zdalnym, do której chcesz uzyskać dostęp za pomocą tabeli FEDERATED. Załóżmy, że zdalna tabela znajduje się w stowarzyszonej bazie danych i jest zdefiniowana w następujący sposób:
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;
W przykładzie użyto tabeli MyISAM, ale tabela może używać dowolnego silnika pamięci masowej.
Następnie utwórz tabelę FEDERATED na serwerze lokalnym, aby uzyskać dostęp do tabeli zdalnej:
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';
(Przed MySQL 5.0.13 używaj KOMENTARZA zamiast POŁĄCZENIA).