Можно ли сделать кросс-машинный JOIN (т.е. кросс-БД, расположенные на разных машинах) в mySQL? - PullRequest
0 голосов
/ 11 мая 2009

Я знаю, что в SQL Server это возможно при использовании связанных серверов. Есть ли аналогичный способ сделать это в MySQL?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 11 мая 2009

Вы можете посмотреть на объединенное хранилище . Я не знаю, это стабильность, но она должна поддерживать что-то вроде этого.

0 голосов
/ 05 апреля 2010

Да, это возможно с двигателем Federated Storage, как утверждает Олафур Вейдж в своем ответе. Этот механизм хранения должен быть вызван явным образом (путем создания соответствующей записи в файле запуска), но вы можете настроить «теневые» таблицы локально из тех, которые вы хотите удаленно запрашивать. Но будьте осторожны: производительность может быть не такой высокой - в недавних тестах я выполнял запрос, выполненный локально для удаленной таблицы (через мою объединенную таблицу), в результате копировал все содержимое таблицы по проводам и затем выполнял запрос, по-видимому, доступ к индексам, существующим в удаленной таблице (даже если они были определены в объединенной таблице). В результате простой запрос, который занимал около 10 секунд удаленно, должен был быть прерван примерно через час при выполнении с федеративной таблицей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...