sql >> Databasteknik >  >> RDS >> Mysql

MySQL Cross Server Select Query

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.)



  1. MariaDB UCASE() Förklarad

  2. Vad är databasdelning?

  3. Hur man visar datum i ett annat format i Oracle

  4. Oracle Data Mining (ODM) – Installation och installation