powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизировать скрипт синхронизации таблиц
5 сообщений из 5, страница 1 из 1
Оптимизировать скрипт синхронизации таблиц
    #39659853
JMLabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста решить такую задачу. Есть 2 сервера БД, один - продакшн, другой для подготовки отчетов и аналитики. Нужно время от времени синхронизировать данные одной из таблиц из БД продакшн в БД аналитики. К сожалению репликацию сделать не могу, т.к. БД продакшн (publisher) закрыта извне. Для решения задачи у меня написан скрипт который "смотрит" каких записей нет в таблице аналитической БД по сравнению с БД продакшн и инсертит их. Суть скрипта такая:

Код: sql
1.
2.
3.
4.
5.
6.
7.
INSERT INTO receiver
  SELECT
    *
  FROM source
  LEFT JOIN receiver
    ON receiver.id = source.id
  WHERE receiver.id IS NULL



Однако с постом числа строк в синхронизируемых таблицах это скрипт все медленнее и медленнее работает. На таблице в полмиллиона строк вообще умирает. Какие могут быть идеи для оптимизации синхронизации?
...
Рейтинг: 0 / 0
Оптимизировать скрипт синхронизации таблиц
    #39659859
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
естественно не будет работать, т.к. вы джойните таблицы на разных серверах,

есть много вариантов решения - от допиливания источника, чтобы там было логирование изменений, до покупки специализированного ПО, которое читает лог и транслирует изменения,

подозреваю, что в вашем случае доступно такое - тащить последние N месяцев во времянку и потом джойнить, а скажем по выходным тащить всю таблицу в ту же времянку и джойнить ее
...
Рейтинг: 0 / 0
Оптимизировать скрипт синхронизации таблиц
    #39659861
KRS544
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще наверняка и через Linked Server?
Дешевле наверняка будет целиком закачивать каждый раз.
Попросите добавить на продакш поле Timestamp
(что не поможет отслеживать удаленные записи, но у вас и так этого нет)
...
Рейтинг: 0 / 0
Оптимизировать скрипт синхронизации таблиц
    #39659885
JMLabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, второй сервер прилинкован. Поле даты есть, я понимаю идею - взять в сравнение только последнюю неделю например, но что делать если вдруг не отработает скрипт, получится дырка в данных
...
Рейтинг: 0 / 0
Оптимизировать скрипт синхронизации таблиц
    #39659896
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JMLabsПоле даты есть, я понимаю идею - взять в сравнение только последнюю неделю напримерНе последнюю неделю, а с того момента, до которого в последний раз вставились данные. Запоминая этот момент при работе скрипта.
Тогда логически скрипт будет работать так же, как ваш, но быстрее.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизировать скрипт синхронизации таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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