sql >> Databáze >  >> RDS >> Mysql

MySQL Cross Server Select Query

co takhle použít federované tabulky na jednom ze serverů? vytvořte federované tabulky na základě vzdálených tabulek, které použijete v dotazu, a spusťte dotaz, jako by vaše databáze byla celá lokální. příklad níže z webu MySQL

Postup použití tabulek FEDERATED je velmi jednoduchý. Normálně máte spuštěny dva servery, oba na stejném hostiteli nebo na různých hostitelích. (FEDERATED tabulka může používat jinou tabulku spravovanou stejným serverem, ačkoliv to nemá smysl.)

Nejprve musíte mít na vzdáleném serveru tabulku, ke které chcete přistupovat pomocí tabulky FEDERATED. Předpokládejme, že vzdálená tabulka je ve federované databázi a je definována takto:

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;

V příkladu je použita tabulka MyISAM, ale tabulka může používat jakýkoli modul úložiště.

Dále vytvořte na místním serveru tabulku FEDERATED pro přístup ke vzdálené tabulce:

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';

(Před MySQL 5.0.13 používejte COMMENT spíše než CONNECTION.)



  1. líný dotaz clojure.java.jdbc

  2. Procedura UTL_FILE.FOPEN() nepřijímá cestu k adresáři?

  3. Oracle vložit, pokud řádek neexistuje

  4. datetime2 vs smalldatetime v SQL Server:Jaký je rozdíl?