PDF (US Ltr)
- 26.8Mb
PDF (A4)
- 26.8Mb
FEDERATED
テーブルを作成するときは、次の手順に従うようにしてください。
リモートサーバーにテーブルを作成します。または、
SHOW CREATE TABLE
ステートメントを使用するなどして、既存テーブルのテーブル定義のメモを取ります。同一のテーブル定義でローカルサーバーにデーブルを作成しますが、ローカルテーブルをリモートテーブルにリンクする接続情報を追加してください。
たとえば、リモートサーバーに次のテーブルを作成できます。
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
句の内容が含まれており、それがリモートサーバーに送られてローカルに実行されるため、最適化が起こります。これにより、そうしないとローカル処理のためにサーバーからテーブル全体を要求することになるネットワークトラフィックが削減されます。