Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.07.2019, 22:21
|
|||
|---|---|---|---|
|
|||
Удаление записей из таблицы в определенное время |
|||
|
#18+
Добрый вечер, всем! Имеется процедура, которая раз в час загружает новую порцию данных, перед вставкой инкремента, таблица чистится. Появилась необходимость хранить данные в этой таблице в определенный промежуток времени, т.е допустим с 00:00 до 08:00 am таблица наполняется данными (без предварительного удаления), в оставшееся время таблица, как было изначально чистится и затем наполняется. Подскажите пжст, с помощью чего это оптимальней сделать? Были мысли это осуществить с помощью waitfor delay и с помощью цикла, но пока не могу до конца додумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.07.2019, 23:18
|
|||
|---|---|---|---|
Удаление записей из таблицы в определенное время |
|||
|
#18+
plorkie, А раз в час процедура загружает через waitfordelay? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.07.2019, 23:19
|
|||
|---|---|---|---|
Удаление записей из таблицы в определенное время |
|||
|
#18+
Не понятно, с чем у вас проблемы? Можно использовать джоб по расписанию, в нем будет код удаления данных. Если данных много, то лучше удалять порциями в цикле. Если не слишком много, то можно одним запросом. Причем тут "waitfor delay" вообще не понятно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2019, 06:00
|
|||
|---|---|---|---|
Удаление записей из таблицы в определенное время |
|||
|
#18+
plorkieДобрый вечер, всем! Имеется процедура, которая раз в час загружает новую порцию данных, перед вставкой инкремента, таблица чистится. Появилась необходимость хранить данные в этой таблице в определенный промежуток времени, т.е допустим с 00:00 до 08:00 am таблица наполняется данными (без предварительного удаления), в оставшееся время таблица, как было изначально чистится и затем наполняется. Подскажите пжст, с помощью чего это оптимальней сделать? Были мысли это осуществить с помощью waitfor delay и с помощью цикла, но пока не могу до конца додумать. Проще надо быть. Пиши в каждой строке СрокПротухания. И учитывай это в запросе, если надо. Фсе. Когда ты удалишь протухшие записи - дело десятое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2019, 08:16
|
|||
|---|---|---|---|
|
|||
Удаление записей из таблицы в определенное время |
|||
|
#18+
plorkieДобрый вечер, всем! Имеется процедура, которая раз в час загружает новую порцию данных, перед вставкой инкремента, таблица чистится. Появилась необходимость хранить данные в этой таблице в определенный промежуток времени, т.е допустим с 00:00 до 08:00 am таблица наполняется данными (без предварительного удаления), в оставшееся время таблица, как было изначально чистится и затем наполняется. Подскажите пжст, с помощью чего это оптимальней сделать? Были мысли это осуществить с помощью waitfor delay и с помощью цикла, но пока не могу до конца додумать. Если я всё правильно понял, то, если позволяет версия и редакция сервера (до 2016SP1 - энтерпрайз, после - любая), я бы разрезал таблицу на секции, и секцию, в которой производятся изменения - держал бы в двух экземплярах. Соответственно "заливка с удалением" - это загрузка в пустую отсоединенную секцию. А "заливка без удаления" - это обычная работа. Как только данные залиты в отсоединенную секцию - switch partition, и всё заново. Нужно только, чтобы все изменения были локализованы в "горячей" секции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2019, 10:27
|
|||
|---|---|---|---|
Удаление записей из таблицы в определенное время |
|||
|
#18+
uaggsterplorkieДобрый вечер, всем! Имеется процедура, которая раз в час загружает новую порцию данных, перед вставкой инкремента, таблица чистится. Появилась необходимость хранить данные в этой таблице в определенный промежуток времени, т.е допустим с 00:00 до 08:00 am таблица наполняется данными (без предварительного удаления), в оставшееся время таблица, как было изначально чистится и затем наполняется. Подскажите пжст, с помощью чего это оптимальней сделать? Были мысли это осуществить с помощью waitfor delay и с помощью цикла, но пока не могу до конца додумать. Если я всё правильно понял, то, если позволяет версия и редакция сервера (до 2016SP1 - энтерпрайз, после - любая), я бы разрезал таблицу на секции, и секцию, в которой производятся изменения - держал бы в двух экземплярах. Соответственно "заливка с удалением" - это загрузка в пустую отсоединенную секцию. А "заливка без удаления" - это обычная работа. Как только данные залиты в отсоединенную секцию - switch partition, и всё заново. Нужно только, чтобы все изменения были локализованы в "горячей" секции. Иногда, лучше жевать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2019, 12:13
|
|||
|---|---|---|---|
|
|||
Удаление записей из таблицы в определенное время |
|||
|
#18+
plorkie, разделите процесс на две процедуры - одна чистит, вторая заполняет. Затем джоб из двух шагов, в шаге очистки напишите if с проверкой времени. Секционирование там не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1687594]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 370ms |

| 0 / 0 |
