Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


15.8.2 FEDERATED テーブルの作成方法

FEDERATED テーブルを作成するときは、次の手順に従うようにしてください。

  1. リモートサーバーにテーブルを作成します。または、SHOW CREATE TABLE ステートメントを使用するなどして、既存テーブルのテーブル定義のメモを取ります。

  2. 同一のテーブル定義でローカルサーバーにデーブルを作成しますが、ローカルテーブルをリモートテーブルにリンクする接続情報を追加してください。

たとえば、リモートサーバーに次のテーブルを作成できます。

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
DEFAULT CHARSET=latin1;

リモートテーブルに連合したローカルテーブルを作成するには、2 つのオプションが使用できます。ローカルテーブルを作成し、CONNECTION を使用してリモートテーブルへの接続に使用される接続文字列 (サーバー名、ログイン、パスワードを含みます) を指定するか、CREATE SERVER ステートメントを使用してすでに作成された既存の接続を使用できます。

重要

ローカルテーブルを作成する場合、リモートテーブルに同一のフィールド定義を持つ必要があります

注記

インデックスをホストのテーブルに追加することで、FEDERATED テーブルのパフォーマンスを向上できます。リモートサーバーに送られたクエリーには WHERE 句の内容が含まれており、それがリモートサーバーに送られてローカルに実行されるため、最適化が起こります。これにより、そうしないとローカル処理のためにサーバーからテーブル全体を要求することになるネットワークトラフィックが削減されます。