powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Периодическая заливка больших объемов новых строк / обновлений в старых
9 сообщений из 9, страница 1 из 1
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856582
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую,

разрабатываю систему для периодической репликации из одной базы в другую больших объемов строк в нескольких свазанных таблицах. Кое-какие строки будут новыми, в каких-то надо будет только обновить пару полей.

Наметил для себя такой путь для каждой таблицы:

1) в начале репликации создаю временную таблицу со структурой аналогичной принимающей таблице

Код: sql
1.
2.
CREATE TEMPORARY TABLE temp_customer
SELECT * FROM customer LIMIT 0;




2) далее собираюсь

Код: sql
1.
2.
3.
4.
5.
INSERT INTO customer
SELECT * FROM temp_customer
ON DUPLICATE KEY UPDATE 
   customer.Name = temp_customer.Name,
   customer.Address = temp_customer.Address;




Подумал, этот путь будет лучше (меньше нагрузки на базу, да и быстрее) построчного

Код: sql
1.
2.
3.
4.
5.
6.
INSERT INTO table (column_list)
VALUES (value_list)
ON DUPLICATE KEY UPDATE
   c1 = v1, 
   c2 = v2,
   ...;



Что думаете?
...
Рейтинг: 0 / 0
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856588
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
база-источник не MySQL, плюс еще другие особенности, так что мне действительно нужно самому разаработать систему репликации/синхронизации, а не воспользоваться готовой
...
Рейтинг: 0 / 0
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856590
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.

между пунктами 1) и 2) пропустил, что 1.1) заливаю ВСЕ интересные данные (по задаче: за последний месяц) во временную таблицу
...
Рейтинг: 0 / 0
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856595
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семёнбольших объемов строко каких именно объемах речь?
...
Рейтинг: 0 / 0
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856602
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

несколько таблиц: единицы - десятки тысяч строк / около 20 столбцов / PRIMARY KEY типа BIGINT
несколько таблиц: до 100 000 строк / 5-6 столбцов / в некоторых PRIMARY KEY состоит из 2-х BIGINT
...
Рейтинг: 0 / 0
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856611
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён2) далее собираюсьПоскольку задача одноразовая (пусть и регулярно повторяемая), я бы пошёл ради снижения нагрузки на деление таблицы temp_customer на две - temp_customer_for_insert и temp_customer_for_update. Но с учётом того, что
Кроик Семённесколько таблиц: единицы - десятки тысяч строк / около 20 столбцов / PRIMARY KEY типа BIGINT
несколько таблиц: до 100 000 строк / 5-6 столбцов / в некоторых PRIMARY KEY состоит из 2-х BIGINTэто вообще ни о чём, таблицы мелкие, не вижу даже смысла возиться.
...
Рейтинг: 0 / 0
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856635
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнЧто думаете?
Я думаю, что ты думаешь неправильно. Но всё сильно зависит от объёма изменённых данных и особенностей конкретного движка мускуля.
...
Рейтинг: 0 / 0
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856661
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ОК, если таблицы считаются "мелкими", то пока не заморачиваюсь и делаю так как запланировал
Спасибо всем ответившим
...
Рейтинг: 0 / 0
Периодическая заливка больших объемов новых строк / обновлений в старых
    #39856691
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семённесколько таблиц: до 100 000 строк / 5-6 столбцовэто такая мелочь, что я бы сделал полную перезаливку через LOAD DATA, а не тратить время на отладку инкрементного апдейта.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Периодическая заливка больших объемов новых строк / обновлений в старых
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]