Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung der datenbankübergreifenden Abfragemethode in MySQL

Detaillierte Erläuterung der datenbankübergreifenden Abfragemethode in MySQL

怪我咯
怪我咯Original
2017-07-05 11:17:581198Durchsuche

In diesem Artikel wird hauptsächlich die datenbankübergreifende Zuordnungsmethode Abfrage in MySQL vorgestellt. Freunde, die sie benötigen, können sich auf das

Geschäftsszenario beziehen: Zuordnung zwischen verschiedenen Datenbanken Tabellenabfrage

Die zuzuordnenden Tabellen sind beispielsweise: Tabelle A in Datenbank A auf Maschine A && Tabelle B in Datenbank B auf Maschine B.

In diesem Fall ist es unmöglich, „select A.id,B.id from A left join B on ~~~;“ auszuführen, aber die Geschäftsanforderungen sind unveränderlich Das Datenbankdesign ist unveränderlich, was nervig ist. .

Lösung: Erstellen Sie eine Tabelle B in Datenbank A auf Maschine A. . .

Natürlich mache ich keine Witze. Wir verwenden eine Tabellenerstellungsmethode, die auf der föderierten Engine von MySQL basiert.

Beispiel für eine Tabellenerstellungsanweisung:

CREATE TABLE `table_name`(......) ENGINE =FEDERATED CONNECTION='mysql://[username]:[password]@[location]:[port]/[db-name]/[table-name]'

Voraussetzung: Ihr MySQL muss die Verbund-Engine unterstützen (führen Sie Show Engines aus; Sie können sehen, ob es unterstützt wird).

Wenn es eine FEDERATED-Engine gibt, aber der Support NEIN ist, bedeutet das, dass Ihr MySQL diese Engine installiert , aber nicht aktiviert hat, fahren Sie mit dem Ende fort der Datei my.cnf Fügen Sie eine Zeile „federated“ hinzu und starten Sie MySQL neu Um Ihren Betrieb und Ihre Wartung zu finden, ist die nächste Aktion relativ umfangreich und ich weiß nicht, wie sie ausgeführt werden soll.

Erklärung: Die über die FEDERATED-Engine erstellte Tabelle verfügt nur über eine lokale Tabellendefinitionsdatei und die Datendatei ist in der Remote-Datenbank vorhanden. Diese Engine kann Remote-Datenzugriffsfunktionen ähnlich wie DBLINK unter Oracle implementieren. Das heißt, diese Tabellenerstellungsmethode erstellt nur eine Tabellenstrukturdatei von Tabelle B in Datenbank A. Der

Index

, die Daten und andere Dateien der Tabelle befinden sich immer noch in Datenbank B auf Maschine B Dies entspricht lediglich einer Verknüpfung zu Tabelle B, die in Datenbank A erstellt wird. Dadurch tut das Ei nicht mehr weh. .

Ein paar Punkte, die Sie beachten sollten:

1. Die lokale Tabellenstruktur muss genau mit der Remote-Tabelle übereinstimmen.

2. Die Remote-Datenbank ist derzeit auf MySQL beschränkt

3 Transaktionen werden nicht unterstützt

4. Zusätzliche Kommentare von anderen Internetnutzern:

Um die Remote-Logintoken-Tabelle von 5.12 zu verwenden, müssen Sie FEDERATED nur selbst aktivieren. Es ist nicht notwendig, es in 5.12 zu aktivieren

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der datenbankübergreifenden Abfragemethode in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn