|
Удаление 4.5 миллионов строк из РС | ☑ | ||
---|---|---|---|---|
0
Ахмадинежад
26.05.16
✎
18:19
|
Сделал через
НЗ = РегистрыСведений.ИмяРС.СоздатьНаборЗаписей(); НЗ.Записать(Истина); 4.5 млн строк в РС Уже минут 40 жду. Сервер мощный. Как думаете, это не на 8+ часов ? |
|||
1
Господин ПЖ
26.05.16
✎
18:21
|
хз... в текста insert/update/delete 1с лучше не смотреть - ужасужас
|
|||
2
Maniac
26.05.16
✎
18:21
|
будешь ждать сутки.
|
|||
3
Amianna
26.05.16
✎
18:24
|
Гугль нашел, не совсем оно, но лучше чем ничего...
Однажды мы попали в ситуацию, когда нужно было удалить регистр большого объема. Мы, ни о чем не подозревая, запустили нашу обработку и... все ))) Процесс 1С сожрал все ресурсы компьютера и в итоге "вылетел". Регистр мы все же почистили, но история не о том. Как вы уже понимаете новая версия обработки таки умеет работать с большими объемами данных. Реализовано это с помощью транзакций, а если проще, то в обработке следует указать количество элементов транзакции. По поводу количества элементов есть интересные наблюдения: Тест выполнялся собственно на той самой базе. Количество записей регистра 80000. Вариант базы - файловый, размещена на локальном компьютере. при количестве элементов транзакции 100 - время выполнения 16 мин; при количестве элементов транзакции 500 - когда время выполнения дошло до 45 минут прервал тест ибо надоело, в итоге осталось около 25000 записей; при количестве элементов транзакции 50 - время выполнения 12 мин; при количестве элементов транзакции 10 - время выполнения 8 мин; Результаты тестирования говорят сами за себя. Но все же не следует принимать их как самые верные и оптимальные. Думаю при разных вариантах структуры хранения и использования ИБ, версии платформы и прочего они могут отличаться. |
|||
4
Господин ПЖ
26.05.16
✎
18:25
|
(3) в лучших домах лондона еще принято распараллеливать процессы
|
|||
5
Amianna
26.05.16
✎
18:25
|
(0) Я так понимаю, тебе надо было делать пачками удаление в цикле, с обработкой прерывания, если что.
|
|||
6
antgrom
26.05.16
✎
18:25
|
могут возникнуть блокировки
а так сделал бы запрос , отбирал бы небольшими порциями по какому нибудь параметру в попытке так надежнее будет |
|||
7
mehfk
26.05.16
✎
18:26
|
(0) Прямой запрос спасет отца русской демократии.
|
|||
8
antgrom
26.05.16
✎
18:26
|
* в попытке
в смысле - получать по данным из запроса , а удалять в попытке |
|||
9
Amianna
26.05.16
✎
18:27
|
Только что в голову пришло, а не быстрее убить регистр вообще, обновить базу, снова вернуть регистр :)
|
|||
10
Ахмадинежад
26.05.16
✎
18:33
|
полтора часа. все удалилось.
Спасибо за эффект присутствия )) |
|||
11
Ахмадинежад
26.05.16
✎
18:34
|
упс, то есть час где-то
|
|||
12
Господин ПЖ
26.05.16
✎
18:34
|
как скучно стало жить...
|
|||
13
Господин ПЖ
26.05.16
✎
18:34
|
то ли дело в 7.7 - все на клиенте
сидишь на второй день апдейта и думаешь - наипнется или нет... |
|||
14
Московский
26.05.16
✎
18:42
|
(0) Серверная база-то хоть?
|
|||
15
Лефмихалыч
26.05.16
✎
19:13
|
(0) TRUNCATE TABLE
потом DBCC REINDEX быстро, без шума и пыли |
|||
16
piter3
26.05.16
✎
19:21
|
удалить все или часть?
|
|||
17
Формат
26.05.16
✎
19:30
|
40 минут мало, я как то удалял 700т. строк было меньше 2 часов, если память не изменяет.
|
|||
18
hhhh
26.05.16
✎
20:02
|
(11) тут регистры ни при чем. Ты просто забыл посмотреть в их процедуры ПриЗаписи и ПередЗаписью.
|
|||
19
youalex
26.05.16
✎
20:57
|
Судя по коду - полная очистка РС.
TRUNCATE TABLE, да. Плюс еще нужно смотреть, есть ли таблица изменений по этому РС. Изощренным способом - можно удалить РС из конфы, обновить базу (будет DROP TABLE) - вернуть РС в конфу. |
|||
20
Fram
26.05.16
✎
21:38
|
Сервер видать очень "мощный" ))
|
|||
21
supremum
26.05.16
✎
23:28
|
Недавно сворачивали УПО (Управление Проектной организацией) на 140 гиг. Производительность уперлась в количество транзакция на запись в дисковой системе. Помогла вот такая штука:
http://www.samsung.com/ru/consumer/memory-storage/ssd/950-pro/MZ-V5P512BW Обычный винт делал 150 транзакций. Серверный райд 0 15000 SAS 750 транзакций на запись. Самсунговская SSD 15000-20000 транзакций на запись. В результате провели операцию по свертке за один день, вместо недели. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |