Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > слитие двух таблиц


Автор: Fubu_By 14.8.2010, 11:11
есть две таблицы со спаршенными данными, поля у них одинаковые (id, name, address, phone), записей в каждой порядка 500тыс, надо их слить в одну 1милл...
есть ли стандартный запрос для их объеденнения, или надо считывать из одной и запихивать в другую?

Автор: ZeeLax 14.8.2010, 18:48
Движок какой?
Код

INSERT ... SELECT ...

Код

man myisampack

Автор: Fubu_By 15.8.2010, 11:25
mysql    5.1.41 

Автор: ZeeLax 17.8.2010, 05:55
Fubu_By, а движок какой? Таблицы в каком формате?

Автор: Fubu_By 17.8.2010, 22:59
помогло быстро отрабатывает
Код

INSERT ... SELECT ...


а тип таблиц MyISAM

Автор: Akina 17.8.2010, 23:05
Читай справку по MERGE Storage Engine. Не надо вообще ничего делать с таблицами.

Автор: Fubu_By 18.8.2010, 09:46
Цитата(Akina @ 17.8.2010,  23:05)
Читай справку по MERGE Storage Engine. Не надо вообще ничего делать с таблицами.

Код

При работе с такими таблицами задействуется большее число файловых дескрипторов, так как программе приходится открывать каждую исходную 
таблицу в отдельности. Следовательно, извлечение данных из объединенных таблиц осуществляется медленнее, чем из таблиц других типов.
 Даже если дескрипторы индексных файлов совместно используются несколькими потоками, все равно приходится читать индексный 
файл каждой исходной таблицы.


думаю лучше один раз всё таки объеденить, чем MERGE использовать.

Автор: Akina 18.8.2010, 09:48
Цитата(Fubu_By @  18.8.2010,  10:46 Найти цитируемый пост)
думаю лучше один раз всё таки объеденить, чем MERGE использовать.

Если у тебя идёт работа с объединёнными данными постоянно - да. Но если объединение требуется раз в месяц для получения, например, суммарных статистик - то как раз MERGE более разумен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)