Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизировать скрипт синхронизации таблиц
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста решить такую задачу. Есть 2 сервера БД, один - продакшн, другой для подготовки отчетов и аналитики. Нужно время от времени синхронизировать данные одной из таблиц из БД продакшн в БД аналитики. К сожалению репликацию сделать не могу, т.к. БД продакшн (publisher) закрыта извне. Для решения задачи у меня написан скрипт который "смотрит" каких записей нет в таблице аналитической БД по сравнению с БД продакшн и инсертит их. Суть скрипта такая: Код: sql 1. 2. 3. 4. 5. 6. 7. Однако с постом числа строк в синхронизируемых таблицах это скрипт все медленнее и медленнее работает. На таблице в полмиллиона строк вообще умирает. Какие могут быть идеи для оптимизации синхронизации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2018, 20:53 |
|
||
|
Оптимизировать скрипт синхронизации таблиц
|
|||
|---|---|---|---|
|
#18+
естественно не будет работать, т.к. вы джойните таблицы на разных серверах, есть много вариантов решения - от допиливания источника, чтобы там было логирование изменений, до покупки специализированного ПО, которое читает лог и транслирует изменения, подозреваю, что в вашем случае доступно такое - тащить последние N месяцев во времянку и потом джойнить, а скажем по выходным тащить всю таблицу в ту же времянку и джойнить ее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2018, 21:36 |
|
||
|
Оптимизировать скрипт синхронизации таблиц
|
|||
|---|---|---|---|
|
#18+
Еще наверняка и через Linked Server? Дешевле наверняка будет целиком закачивать каждый раз. Попросите добавить на продакш поле Timestamp (что не поможет отслеживать удаленные записи, но у вас и так этого нет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2018, 21:41 |
|
||
|
Оптимизировать скрипт синхронизации таблиц
|
|||
|---|---|---|---|
|
#18+
Да, второй сервер прилинкован. Поле даты есть, я понимаю идею - взять в сравнение только последнюю неделю например, но что делать если вдруг не отработает скрипт, получится дырка в данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2018, 22:43 |
|
||
|
Оптимизировать скрипт синхронизации таблиц
|
|||
|---|---|---|---|
|
#18+
JMLabsПоле даты есть, я понимаю идею - взять в сравнение только последнюю неделю напримерНе последнюю неделю, а с того момента, до которого в последний раз вставились данные. Запоминая этот момент при работе скрипта. Тогда логически скрипт будет работать так же, как ваш, но быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2018, 23:04 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39659853&tid=1689585]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 398ms |

| 0 / 0 |
