còn việc sử dụng các bảng được liên kết trên một trong các máy chủ thì sao? hãy tạo các bảng được liên kết dựa trên các bảng từ xa mà bạn sẽ sử dụng trong truy vấn và chỉ cần chạy truy vấn của mình như thể cơ sở dữ liệu của bạn là cục bộ. ví dụ bên dưới từ trang web MySQL
Thủ tục sử dụng bảng FEDERATED rất đơn giản. Thông thường, bạn có hai máy chủ đang chạy, cả hai trên cùng một máy chủ hoặc trên các máy chủ khác nhau. (Bảng FEDERATED có thể sử dụng một bảng khác được quản lý bởi cùng một máy chủ, mặc dù có rất ít điểm khi làm như vậy.)
Trước tiên, bạn phải có một bảng trên máy chủ từ xa mà bạn muốn truy cập bằng cách sử dụng một bảng LIÊN KẾT. Giả sử rằng bảng từ xa nằm trong cơ sở dữ liệu được liên kết và được định nghĩa như thế này:
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
CHARSET=latin1;
Ví dụ sử dụng bảng MyISAM, nhưng bảng có thể sử dụng bất kỳ công cụ lưu trữ nào.
Tiếp theo, tạo một bảng FEDERATED trên máy chủ cục bộ để truy cập bảng từ xa:
CREATE TABLE federated_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=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://[email protected]_host:9306/federated/test_table';
(Trước MySQL 5.0.13, hãy sử dụng BÌNH LUẬN thay vì KẾT NỐI.)