Имя: Пароль:
IT
Админ
Ускорение реструктуризации таблицы 1С
0 mzelensky
 
11.10.17
11:23
Доброго времени суток!

Имеем базу 1С на 8.2 на сервере МС СКЛ Сервер 2012

В базе есть регистр накопления (по остаткам) и 5 типов документов, которые делают в него движения. Хочу удалить один из типов документов (вообще удалить из конфы, т.к. он устарел, не используется и мозолит глаза).

Проблема заключается в том, что при попытке обновить конфигурацию базы данных начинается реструктуризация этого регистра накопления, а в нем порядка 22 млн строк и реструктуризация, по моим оценкам, займет часов 10-12. Это слишком долго!

Нашел статью:
http://expert.chistov.pro/public/199018/

в целом идея понятна, но конкретно в моем случае не пойму как скопировать таблицы так, чтобы убрать из них ненужный тип данных.
Кто-нибудь делал подобное на практике? Нужна помощь
1 VladZ
 
11.10.17
11:24
Если причина только в том, что "он устарел, не используется и мозолит глаза" - забить. Заморочиться этим документом следует при следующей свертке базы.
2 mzelensky
 
11.10.17
11:28
(1) в этой базе куча такого мусора...не используемые документы, регистры. Хочу почистить.

Свертка базы как-то не предвидится
3 lodger
 
11.10.17
11:28
ну лежит и лежит. леший с ним. как в (1) говорилось - убирать только после\при глобальной чистки. или при переходе на глобально новую версию.
имхо, то чем вы хотите заниматься - от безделья. лучше что-нибудь полезное сделайте.
в % по размеру базы или быстродействии выигрыш будет копеечный. стоит ли это таких усилий?
4 Cyberhawk
 
11.10.17
11:29
Удали движения этого документа из регистра, потом уже обновляй БД
5 Повелитель
 
11.10.17
11:29
(0) 10 часов это не много.
Можно на ночь или выходной поставить.
Предварительно убедится в копии в том, что хватит 10-12 часов.
И без бубна удалить.
6 mzelensky
 
11.10.17
11:31
(4) Движений нет. Документы уже вычистил.

Но реструктуризация все-равно идет полностью по всему РН
7 Повелитель
 
11.10.17
11:31
(0) Еще я заметил, что перед реструктуризацией, если отключить итоги регистра - то все быстрее проходит.
Правда сами итоги, потом долго включаются )))
Но тут опять же замер на копии можно сделать.
8 Cyberhawk
 
11.10.17
11:32
На 8.3.10-11 перейди, там ускорили все это дело
9 mzelensky
 
11.10.17
11:32
(5) у меня нет столько. Юзеры заканчивают работу почти в полночь. Склад начинает работу с 7 утра. Ночью работают ревизоры + куча регламентов выполняется.

По хорошему есть часа 2-3
10 mzelensky
 
11.10.17
11:33
(8) Да, читал об этом, но совершенно не понятно на сколько ускорили
11 Повелитель
 
11.10.17
11:34
(9) Если документов уже нет, как вариант можно отложить удаление на праздники. Например новогодние.
12 timurhv
 
11.10.17
11:35
(8), (10) Вплоть до возможности фонового обновления. Он запустит задание на реструктуризацию и потом на короткий промежуток времени выгонишь пользователей, либо ночью.
Регистрация изменений в таблицах идет аналогично РИБ в этот момент.
13 lodger
 
11.10.17
11:35
(10) попробуй на копии.
(11) тем более они уже скоро.
14 Йохохо
 
11.10.17
11:35
(9) продублирй проведение в временный регистр, перенеси туда данные тихой сапой, потом старый тыдыщ и новый переименовать
15 mzelensky
 
11.10.17
11:42
(14) была такая идея. Косяк в том, что по тому РН куча отчетности и перейти на имя другого регистра, пусть даже временно, крайне проблемно
16 mzelensky
 
11.10.17
11:44
(12) Почитаю про этот вариант, спасибо!
17 Йохохо
 
11.10.17
12:03
(15) так и не надо переходить, даже временно
19 mistеr
 
11.10.17
12:14
(1) +100

Данные пользователей и работоспособность базы намного важнее "красивого" вида в конфигураторе. Понимание этого есть показатель профессионализма. Добавь проверку, чтобы кто-нибудь сдуру не создал этот документ, и успокойся.

Кстати, то что "в этой базе куча такого мусора...не используемые документы, регистры" — тоже показатель. Скорее всего они были опрометчиво созданы.
20 Ёпрст
 
11.10.17
12:22
(0) Хз, как ты там меряещь,
взял регистр останковый,
select COUNT(*) from [_AccumRg23481]
3149926

удалил из регистраторов все виды доков, кроме одного,
реструктуризация менее минуты.
Движения доков, естесственно не очищал.
21 Ёпрст
 
11.10.17
12:23
Посмотрел потом в 1с-ине, движений нет, итогов нет.
Всё ровно
22 Ёпрст
 
11.10.17
12:24
Откуда там 10 часов возьмётся ?!
23 Ёпрст
 
11.10.17
12:25
если че, 8.3.8.2167, регистр ТоварыНаСкладах в УПП
24 Ёпрст
 
11.10.17
12:26
+SQL2008R2
25 mzelensky
 
11.10.17
12:44
(20)  Как ты удалил все виды регистраторов кроме нужного?
26 Ёпрст
 
11.10.17
13:09
(25) зашел в свойства регистра и понажимал на красный крестик :)
27 Ёпрст
 
11.10.17
13:12
на закладке регистраторы
28 mzelensky
 
11.10.17
13:16
(27) тю, я думал ты это средствами скула сделал
29 Ёпрст
 
11.10.17
13:51
(28) Нафига ?
Когда и так реструктуризация меньше минуты.
30 Ёпрст
 
11.10.17
13:51
Вот и спрашиваю, откуда там у тебя 10 часов она делается.
31 Cyberhawk
 
11.10.17
14:05
(30) Так у тебя 3 миллиона, а у него 22 )
32 Ёпрст
 
11.10.17
14:50
(21) 22/3 ~ 6 минут максимум. Откуда 10 часов ?
33 Ёпрст
 
11.10.17
14:51
и то не не факт, что так долго будет.
34 alxxsssar
 
11.10.17
14:55
А насколько верны и обоснованы твои расчеты? Сделать копию, провернуть все в ней и замерить время выполнения не пробовал?
35 timurhv
 
11.10.17
14:56
(33) У нас на днищенском сервере раньше регистр бухгалтерии быстро перестраивался, было около 3млн записей, занимало минут 10-15.
Сейчас порядка 21млн - реструктуризация может около 30 часов идти, поэтому и перешли на фоновое обновление.

Просто сравнить объемы и рассчитать время - не совсем корректно.
36 Cyberhawk
 
11.10.17
15:05
(32) Оттуда, что зависимость нелинейная, таким образом твоя экстраполяция неверна
37 ptiz
 
11.10.17
15:08
(0) Всё не читал, но на SSD реструктуризация такого регистра должна занять не более часа.
38 mzelensky
 
11.10.17
15:34
(34) Пробовал конечно. 3 мл у меня реструктуризировалось около часа.

ХЗ почему так долго. Может дело в самом регистре, может в медленной файловой системе.

Но не так давно делал реструктуризацию нескольких таблиц, в общей сложности тоже порядка 20 млн записей было...ушло как раз 10 часов. Еще раз так юзеров мучить не хочется.
39 mzelensky
 
11.10.17
15:36
(38) + Скорость замедляется по мере работы. первые пару миллионов достаточно быстро, но потом скорость постепенно снижается
40 ptiz
 
11.10.17
15:57
(38) "3 мл у меня реструктуризировалось около часа."
Это за гранью.
На (18) ответь и общий размер базы озвучь.
41 Лефмихалыч
 
11.10.17
16:30
(40) (23) господа, вы 8.2 в топике увидели?
42 d4rkmesa
 
11.10.17
16:45
(8) В режиме совместимости с 8.2, по крайней мере, не работает - проверено вчера на регистре с >100 млн. записей.
43 d4rkmesa
 
11.10.17
16:50
(0) Ерундой не занимайтесь, переименуйте документ в "Удалить<ИмяДокумента>" и оставьте так. В типовых куча таких объектов болтается, вреда от них нет.
44 Casey1984
 
11.10.17
17:01
(43) Я вот тоже думаю, висит и висит, кому мешает?
45 ptiz
 
11.10.17
17:19
(41) Конечно. Что это меняет? 1С когда-то что-то ускоряла? Бу-га-га! (если речь не про вторую версию реструктуризации в 8.3.11)
46 Cyberhawk
 
12.10.17
11:13
(42) Как проверял?
47 d4rkmesa
 
12.10.17
15:19
(46) Да, тупо, как автор, коллега вчера прибил регистратор и общая тестовая база занялась реструктуризацией на полдня, потом пришлось прервать. Платформа 8.3.10.2580 в режиме совместимости 8.2.16, регистр сведений примерно ~100 млн. записей. Правда, возможно дело было в том, что в tempdb тесно стало. В общем, надо изучить вопрос, но я бы на буст в 8.3.10 не рассчитывал. Тем более, пишут что все-таки это в 8.3.11 будет.
48 Cyberhawk
 
12.10.17
15:55
(47) Так новый вариант реструктуризации надо запускать по-иному, штатно при обновлении конфигурации БД будет работать старый вариант
Основная теорема систематики: Новые системы плодят новые проблемы.