Задавайте вопросы, мы ответим
Вы не зашли.
требуется сделать одну таблицу из нескольких таблиц(скорее частей одной и той же таблицы) расположеных на разных серверах.
опишу простейший случай:
все указанные таблицы имеют одинаковую структуру(схему).
имеем server1->table1, server2->table2
хочу сделать server2.table3 которая будет содержать в себе table1, table2
какие варианты я пробовал:
1) сделал federate для server1->table1 на server2, затем merge(table1_fed, table2)
создается но при любом select или insert выдает ошибку:
"Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist"
2) пытался найти в инете инфу про multiple federated tables ничего не нашел.
Может есть у кого еще мысли ?
Неактивен
1. MERGE работает только с MYISAM-таблицами
2. FEDERATED работает только с одной таблицей
Можно выбирать данные с разных серверов на уровне логики приложения или внутри хранимой процедуры с использованием одной FEDERATED-таблицы
Как еще один вариант - MASTER-MASTER репликация.
Неактивен
Спасибо за ответ.
А не в курсе, может собираются релизовать эти два пункта, что я описал, в следующих версиях MySQL?
Неактивен
А как же VIEW над FEDERATED-табличками?
Неактивен
а не будет ли VIEW по скорости уступать MERGE ?
например VIEW задан так:
CREATE ALGORITHM = MERGE VIEW table1_fed_merge AS SELECT * FROM table1_fed, table2;
Т.е. ответ предполагает сравнение MERGE и VIEW для обычных таблиц (не federated), т.к. MERGE(federated) не поддерживается.
хм:
CREATE ALGORITHM = MERGE VIEW table1_fed_merge AS SELECT * FROM table1_fed, table2;
ERROR 1060 (42S21): Duplicate column name 'col1'
это и понятно, ведь я писал: "все указанные таблицы имеют одинаковую структуру(схему)."
а что вы имели ввиду под:
paulus написал:
А как же VIEW над FEDERATED-табличками?
?
Отредактированно Golova (16.10.2008 12:46:45)
Неактивен
Брр, видимо, я плохо отличаю очевидное для всех
Неактивен