![]() |
![]() |
![]() |
|
Повышение скорости реструктуризации 1С 8.2 | ☑ | ||
---|---|---|---|---|
0
brato4karik
04.10.12
✎
10:53
|
Добрый день всем формучанам. На текущем месте работы по наследству досталась сильно измененная БП. Архитектура базы очень неочевидная(к примеру реквизит докумета "Организация" добавлен как столбец табличной части, которая в свою очередь содержит в себе только одну строку) Но не суть. Документ этот основополагающий документ учета и этих документов порядка 2 мил. Соответственно есть необходимость добавить новые реквизиты в шапку документа. Реструктуризация базы может длиться несклько суток. Как можно ускорить этот процесс? Прямо или косвенно изменить типы данных? Размер базы около 300гб. СУБД MSSQL.
|
|||
1
rs_trade
04.10.12
✎
10:54
|
(0) как минимум можно грохнуть индексы и перевести базу в симпл
|
|||
2
rs_trade
04.10.12
✎
10:55
|
(0) можно сделать на пустой таблице, и потом перелить данные на скуле
|
|||
3
МихаилМ
04.10.12
✎
11:04
|
1с 81 и 82
при реструктуризации создает копию таблицы порциюми по 1000 строк из-за этого и долго. так что самый быстрый способ ручками сделать изменения а точнее сделать изменения в бд где мало записей подсмотреть с помощью ms sql profiler, что делает 1с. воспроизвести без копирования и "лишних действий", те воспроизвести структуру бд, заполнить поля, перенести изменения из config,params,DBSchema, Files как бонус - работу системы останавливать не нужно. |
|||
4
rs_trade
04.10.12
✎
11:12
|
(3) а если:
1. убираем записи из таблицы SELECT * INTO [demo82].[dbo].[_Reference281_copy] FROM [demo82].[dbo].[_Reference281] truncate table [demo82].[dbo].[_Reference281] 2. добавляем свои реквизиты в пустую таблицу 3. из копии таблицы заливаем данные обратно ниче не забыл? |
|||
5
rs_trade
04.10.12
✎
11:15
|
+(4) базу в симпл что бы побыстрее
|
|||
6
Xapac_2
04.10.12
✎
11:18
|
ммм я тоже так хочу.
|
|||
7
МихаилМ
04.10.12
✎
11:38
|
(3)
можно в ддл триггере при создании таблицы копии переименовать и создать пустую а при удалении вернуть назад с добовлением-удалением новых полей но это простой случай реструктуризации, когда нет преименования полей и таблиц. |
|||
8
rs_trade
04.10.12
✎
11:50
|
(7) слишком геморойно
|
|||
9
brato4karik
04.10.12
✎
11:52
|
Спасибо за советы, (прошу прощения за временное отсутствие) сейчас попробую проэмулировать предложенные варианты.
удалять индексы вариант в принципе подходит, но тут ситуация такая что индексных полей как раз нехватает (скорее буду добавлять индексные столбцы) вот с создание пустой копии вариант неплох можно попробовать(пока именно такая ситуация добавляю новые старые не удаляю) по поводу разбиения на 1000 строк можно ли этим управлять? увеличить размер пакета? и таким образом подобрать соотношение под наиболее приемлеммый вариант |
|||
10
МихаилМ
04.10.12
✎
11:59
|
(9)
управлять можно всем в комьютерном мире поищите в бинарниках или в озу и исправте. при переименовании удаление индексов бессмысленно. перевод в simple режим заметного эффекта не даст, тк копирование талиц происходит в bulk режиме с минимальным журналированием. |
|||
11
упс
04.10.12
✎
12:06
|
(10) как раз на операциях с минимальным журналированием и будет виден прирост производительности при переводе из full в simple или bulk-logged, на остальных операциях разницы не будет.
|
|||
12
rs_trade
04.10.12
✎
12:07
|
(9) да не, вариант из (1) кардинально не убыстрит обновление. вариант в (4) 15-30 минут займет.
|
|||
13
МихаилМ
04.10.12
✎
12:34
|
(11) интересно. проверю на реструктуризации.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |