Hamcrest Date Matchers

Вы можете определить таблицы FEDERATED в вашей «облачной» базе данных: любые запросы в этих таблицах будут передаваться с «облачного» сервера на соответствующий сервер London / Dublin по клиентскому протоколу MySQL (обратите внимание, что данные , а не , скопированы на «облачный» сервер, поэтому он не предоставляет какой-либо службы резервного копирования):

CREATE SERVER london FOREIGN DATA WRAPPER mysql OPTIONS (
  HOST 'london.mysql.example.com',
  PORT 9306,
  USER 'cloud_db_user',
  PASSWORD '...',
  DATABASE 'my_database'
);

CREATE SERVER dublin FOREIGN DATA WRAPPER mysql OPTIONS (
  HOST 'dublin.mysql.example.com',
  PORT 9306,
  USER 'cloud_db_user',
  PASSWORD '...',
  DATABASE 'my_database'
);

CREATE TABLE london_table (
    -- table definition as normal
)
ENGINE=FEDERATED
CONNECTION='london/original_table';

CREATE TABLE dublin_table (
    -- table definition as normal
)
ENGINE=FEDERATED
CONNECTION='dublin/original_table';

Затем вы можете определить VIEW , который содержит UNION этих объединенных таблиц. К сожалению, однако, представления UNION не вставляются и не обновляются, поэтому, если вам необходимо зафиксировать какие-либо изменения в данных, которые вы должны были бы использовать в базовой (объединенной) таблице:

CREATE VIEW combined AS
  SELECT * FROM london_table
UNION ALL
  SELECT * FROM dublin_table;

30
задан Basil Bourque 29 June 2017 в 21:43
поделиться