MySQL では、異なるサーバー上の複数のデータベースに接続し、それらの間で結合を実行できます。これは、FEDERATED ストレージ エンジンを使用するか、MS SQL Server などの別の DBMS のリンク サーバーを使用することによって実現できます。
FEDERATED ストレージ エンジンを使用すると、仮想ストレージ エンジンを作成できます。他のサーバー上のテーブルを参照するテーブル。 FEDERATED を使用するには、リモート サーバーの接続パラメーターを指定する外部データ ラッパーを作成する必要があります。外部データ ラッパーを作成したら、リモート テーブルを参照するフェデレーテッド テーブルを作成できます。フェデレーテッド テーブルは、他のテーブルと同様にクエリで使用できます。
フェデレーテッド テーブルの作成方法の例を次に示します。
CREATE FOREIGN DATA WRAPPER my_wrapper OPTIONS ( HOST 'server2', PORT '3306', USER 'username', PASSWORD 'password' ); CREATE FOREIGN TABLE my_table ( id INT, name VARCHAR(255) ) SERVER my_wrapper OPTIONS ( TABLE_NAME 'my_table' );
フェデレーテッド テーブルが作成されたら、他のテーブルと同様にクエリで使用できます。
SELECT * FROM my_table;
MS SQL Server を使用している場合は、リンク サーバーを使用して他のテーブルに接続できます。異なるサーバー上のデータベース。リンク サーバーを使用すると、リモート テーブルに対してローカル テーブルであるかのようにクエリを実行できます。
リンク サーバーを作成するには、sp_addlinkedserver ストアド プロシージャを使用します。
EXEC sp_addlinkedserver @server = 'server2', @srvproduct = 'MySQL'
リンク サーバーが作成されたら、作成したら、他のサーバーと同じようにクエリで使用できます:
SELECT * FROM server2.my_database.dbo.my_table;
以上がMySQL と MS SQL Server の異なるサーバー上のデータベースに参加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。