18.8.2 Как создать FEDERATED таблицы
Для создания 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=utf8mb4;
Для создания локальной таблицы, связанной с удаленной таблицей, доступны два варианта. Вы можете либо создать локальную таблицу и указать строку подключения (содержащую имя сервера, логин, пароль), используемую для подключения к удаленной таблице, используя CONNECTION, или использовать существующее подключение, созданное ранее с помощью оператора CREATE SERVER.
При создании локальной таблицы ее определение полей должно быть идентичным определению полей удаленной таблицы.
Вы можете улучшить производительность FEDERATED таблицы, добавив индексы в таблицу на хосте. Оптимизация происходит потому, что запрос, отправляемый на удаленный сервер, включает содержимое условия WHERE и отправляется на удаленный сервер, а затем выполняется локально. Это уменьшает сетевой трафик, который в противном случае запрашивал бы всю таблицу с сервера для локальной обработки.
© 2025 Oracle
Licensed under the GPLv2 License.