例えばMySQLで、
東京にあるマシンのデータベース名kaikei
に会計関連のテーブルがいっぱいあったとする(toriki_TBL,URIAGE_TBLなど)。
で、大阪に営業支社があり、
大阪にあるマシンのデータベース名eikyo_o
に営業関連のテーブルがいっぱいあったとする。
東京にあるマシンのデータベース名kaikeiにあるテーブルと
大阪にあるマシンのデータベース名eigyo_oにあるテーブルを
JOINしてみたいという場合。
物理的に離れた、ほかのデータベースでも、MySQLなら、
インターネットでつながって、権限があるのなら、OKらしい。
Federatedeエンジンというのがあって、これを使うと、リモートのテーブルが
あたかもローカルのテーブルのように仮想的に扱えるらしい。
詳しくは
Federatedエンジンとは
http://thinkit.co.jp/free/article/0608/1/5/
具体的には
1.my.iniにあるskip-federetedをコメントにして
federeted
に書き換える
2.テーブルを作る際、CREATE TABLEで、
ENGINE=FEDERATED
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
のように、Federatedエンジンを指定して、CONNECTIONにコネクション先を書く。
コネクション先の詳しい書き方は
13.9.2.1. CONNECTIONを利用して FEDERATED テーブルを作成する
http://dev.mysql.com/doc/refman/5.1/ja/federated-create-connection.html
を参照。
東京にあるマシンのデータベース名kaikei
に会計関連のテーブルがいっぱいあったとする(toriki_TBL,URIAGE_TBLなど)。
で、大阪に営業支社があり、
大阪にあるマシンのデータベース名eikyo_o
に営業関連のテーブルがいっぱいあったとする。
東京にあるマシンのデータベース名kaikeiにあるテーブルと
大阪にあるマシンのデータベース名eigyo_oにあるテーブルを
JOINしてみたいという場合。
物理的に離れた、ほかのデータベースでも、MySQLなら、
インターネットでつながって、権限があるのなら、OKらしい。
Federatedeエンジンというのがあって、これを使うと、リモートのテーブルが
あたかもローカルのテーブルのように仮想的に扱えるらしい。
詳しくは
Federatedエンジンとは
http://thinkit.co.jp/free/article/0608/1/5/
具体的には
1.my.iniにあるskip-federetedをコメントにして
federeted
に書き換える
2.テーブルを作る際、CREATE TABLEで、
ENGINE=FEDERATED
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
のように、Federatedエンジンを指定して、CONNECTIONにコネクション先を書く。
コネクション先の詳しい書き方は
13.9.2.1. CONNECTIONを利用して FEDERATED テーブルを作成する
http://dev.mysql.com/doc/refman/5.1/ja/federated-create-connection.html
を参照。