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

start [/forum/topic.php?fid=46&msg=39833026&tid=1687594]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 500ms |

| 0 / 0 |
