Heim >Datenbank >MySQL-Tutorial >Wie kann ich Tabellen datenbankübergreifend auf verschiedenen Servern verknüpfen?
Verbinden Sie Tabellen über verschiedene Serverdatenbanken hinweg
Die Integration von Daten aus verschiedenen Serverdatenbanken bietet die Möglichkeit, umfassende Abfragen durchzuführen. Dazu können Sie folgende Strategien in Betracht ziehen:
Verwenden Sie sp_addlinkedserver
Verwenden Sie sp_addlinkedserver
, um eine Serververbindung zu erstellen, um eine Verbindung zwischen zwei Datenbanken herzustellen. Informationen zur Verwendung finden Sie in der entsprechenden Dokumentation. Sobald die Verknüpfung hergestellt ist, können Sie die Abfrage wie gewohnt erstellen, indem Sie dem Datenbanknamen den Namen des verknüpften Servers voranstellen, etwa so:
<code class="language-sql">SELECT * FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1 INNER JOIN [DB2].[MyDatabaseOnDB2].[dbo].[MyOtherTable] tab2 ON tab1.ID = tab2.ID</code>
OPENQUERY VERWENDEN
OPENQUERY
ermöglicht es Ihnen, SQL-Anweisungen auf einem Remote-Server auszuführen und nur die erforderlichen Daten abzurufen. Dieser Ansatz verbessert die Geschwindigkeit und ermöglicht dem Remote-Server die Optimierung von Abfragen. Das Zwischenspeichern von Daten in einer temporären Tabelle in der lokalen Datenbank kann nachfolgende Abfragen erleichtern, ähnlich wie beim Herstellen einer Verbindung zu einer Standardtabelle.
Zum Beispiel:
<code class="language-sql">SELECT * INTO #myTempTable FROM OPENQUERY([DB2], 'SELECT * FROM [MyDatabaseOnDB2].[dbo].[MyOtherTable]') SELECT * FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1 INNER JOIN #myTempTable tab2 ON tab1.ID = tab2.ID</code>
Weitere Beispiele finden Sie in der Dokumentation von OPENQUERY
. Während das hier bereitgestellte Beispiel einfacher ist, ist der erste Ansatz mit sp_addlinkedserver
möglicherweise besser geeignet. Wenn jedoch das Filtern von Daten erforderlich ist, kann OPENQUERY
die Leistung verbessern.
Das obige ist der detaillierte Inhalt vonWie kann ich Tabellen datenbankübergreifend auf verschiedenen Servern verknüpfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!