Имя: Пароль:
1C
 
Как бороться с долгой реструктуризацией больших таблиц?
0 RomaH
 
naïve
09.09.19
07:12
Суть - база "долгая" и не подлежит свертке
медицинская
в день до 1000 документов одного вида
несколько тысяч записей в регистр

конфигурация подлежит постоянному совершенствованию
и вот добавил реквизит в документ - и при обновлении сидишь и смотришь на реструктуризацию таблицы в пару миллионов записей, а базе всего-то 10 лет

какой выход может быть?
1 ДенисЧ
 
09.09.19
07:23
Виселицу не предлагать?
2 gSha
 
09.09.19
07:38
Традиционно базы для медиков не делают на реляционных бд
3 RomaH
 
naïve
09.09.19
07:42
(2) обрадовал
4 gSha
 
09.09.19
07:44
Ну , купи корп версию - там вроде реструктуризация фоновая - хотя наверное все равно с блокировкой таблицы
5 Trier
 
09.09.19
07:47
(0) Как вариант - не добавлять реквизит в документ, добавить только поле на форму,  писать его в отдельный регистр и при открытии формы восстанавливать это значение. База конечно распухнет, но дисковое место - вещь не слишком дорогая, а от реструктуризации и простоя базы уйдешь.
6 rphosts
 
09.09.19
07:51
(5) эти механизмы в типовых называется "Дополнительные реквизиты и сведения"
7 gSha
 
09.09.19
07:54
Там данные в объектах хранятся
8 rphosts
 
09.09.19
07:55
(7) сведения вроде-же ПВХ + РС
9 gSha
 
09.09.19
07:58
Да наверное действительно проще регистры сведений и потом бежать)) от воплей регистратуры. Поддерживать работу неподчиненых регистров ещё та забава ))
10 Конструктор1С
 
09.09.19
08:37
(0) "и смотришь на реструктуризацию таблицы в пару миллионов записей"

Там делов на пару минут
11 RomaH
 
naïve
09.09.19
09:08
(10) на сегодняшний момент доходило до полу-часа
12 neomarat
 
09.09.19
09:31
Пол часа? Да вы шутите, эту сущие копейки. У меня обновления долге идут...
13 ИУБиПовиц
 
09.09.19
09:38
(11) А вы что каждый день добавляете реквизиты?. Раз в месяц запланируйте на час тех работы. Если такой возможности нет, то извращайтесь:) и потом отбивайтесь от регистратуры..
Понаделайте загодя реквизитов типа строка, при необходимости добавления нового реквизита используйте их, в строку пишите УИД, и со значениями через УИД работайте:)
14 Chum
 
09.09.19
09:43
(11) полчаса? Раз в месяц остаться после окончания рабочего дня и выполнить все, что требуется с базой - такой вариант не рассматривается?
15 RomaH
 
naïve
09.09.19
09:45
(13) почему бы нет
у меня больше 10 видов документов одного типа (мед запись специалиста)
сегодня в один добавил, завтра в другой
16 ptiz
 
09.09.19
09:51
(0) Когда процесс будет занимать многие часы, тогда можно задуматься. А так - ночью точно можно час выделить. Вряд ли у вас работа 24/7.
17 ИУБиПовиц
 
09.09.19
09:56
(15)  - сразу в рабочую что ли. лично у нас с начало в тесте доработки делаем пользователи тестируют, а в запланированиое окно - переносим доработки в рабочую базу.
18 alkorolev
 
09.09.19
10:01
(0) использовать новый механизм обновления
https://wonderland.v8.1c.ru/blog/optimizatsiya-restrukturizatsii-bazy-dannykh/
https://its.1c.ru/db/v8311doc#bookmark:adm:TI000000527

ну и стараться "доп.реквизиты" не изменять!
19 palsergeich
 
09.09.19
10:04
Пара миллионов записей обновляетс пару минут.
Ок если это документы, то может пару десятков минут.
20 Smile 8D
 
09.09.19
10:17
(11) У нас в центральной базе Астора в крупной продуктовой сети реструктуризация иногда за ночь не выполнялась или по памяти вылетала - приходилось делать средствами скуля для ускорения, а у вас пока совсем незначительные временные затраты.
В текущем варианте просто переносите обновления, требующие реструктуризации на нерабочее время. А вот когда времени перестанет хватать, будете искать уже другие решения (регистры сведений вместо реквизитов, реструктуризация средствами скуля и т.д.).
21 Вафель
 
09.09.19
10:19
так платформа же корп есть для таких случаев
22 Вафель
 
09.09.19
10:20
корп делает ALTER TABLE  - на порядки быстрее чем типовой механизм
23 ansh15
 
09.09.19
11:02
КОРП сейчас - сверхдорогостоящая роскошь.
"Продление срока действия РКЛ для возможности использования лицензий 1С КОРП
Для получения права на обновления версий платформы "1С:Предприятие 8 КОРП" и ИСПОЛЬЗОВАНИЕ, необходимо приобрести Расширенную Корпоративную Лицензию (РКЛ), ежегодный платеж за которую составит 15% от рекомендованной розничной стоимости всех лицензий уровня 1С:Предприятие 8 КОРП (серверных + клиентских) по действующему прайс-листу фирмы "1С", но не менее 300 000 рублей", http://www.online-ufa.ru/content/articles/upgrade-licenses-1c-from-prof-to-corp/
Нет, если финансы позволяют, то конечно...
Серверу, на котором работает 10-и летня база, тоже лет 10?
24 xXeNoNx
 
09.09.19
11:05
Maxdop=0 не?
25 xXeNoNx
 
09.09.19
11:05
26 fisher
 
09.09.19
12:45
Как уже сказали, человеческий выход только в КОРП реализовали.
В ПРОФ создается копия таблицы.
Пол-часа и пару миллионов записей - это еще цветочки. Плюс есть некоторый запас на апгрейд/оптимизацию железа.
Когда действительно прижмет - остаются суровые варианты с подменой конфы и ручным добавлением колонки в БД.
27 nicxxx
 
09.09.19
13:57
(0) Создать копию таблицы, перенести в нее данные из исходной (insert into ... select). Исходную очистить (truncate table). Выполнить реструктуризацию. Перенести данные обратно. Заполнить новую колонку данными по-умолчанию (если надо). Готово.
28 1Сергей
 
09.09.19
14:10
(2) много примеров нереляционных БД?
29 ssh2006
 
09.09.19
14:11
(0) Версия 8.3.14

Ускорено выполнение реструктуризации информационной базы при использовании СУБД Microsoft SQL Server и IBM DB2.

Реально побыстрее стало
30 rsv
 
09.09.19
14:16
(27) + 100...
31 Nahoy
 
09.09.19
14:37
(22) не путай реструктуризацию на сервере, доступную и в Проф, с механизмом фонового обновления
32 Вафель
 
09.09.19
14:56
(31) разве алтер тэйбл в профе есть?
33 Nahoy
 
09.09.19
14:58
(32) а где написано что нет?
34 Defender77
 
09.09.19
15:00
(27) Тогда уж переименовать исходную, создать новую со старым именем и полной копией структуры.
Собственно все тормоза при реструктуризации из-за этого переноса данных.
35 Xapac
 
09.09.19
15:00
(11) Это быстро еще.....
36 AquaMan
 
09.09.19
15:01
(11) Ахаха.. когда за ночь не будет проходить, тогда начинай беспокоиться.
37 nicxxx
 
09.09.19
15:03
(34) +1. Написал свой пост и тоже об этом подумал, так быстрее в 2 раза будет))
38 rsv
 
09.09.19
15:05
(34) когда их сервер приложений переносит почему то пачками топ 100 или 1000  при
этом уходя в себя с опросом служебных таблиц
39 МихаилМ
 
09.09.19
15:14
(0)
1с8 при реструктуризации создает копию таблицы и копирует в нею данные порциями по 1000 записей.

на последнем этапе таблицу удаляет , копию переименовывает в оригинал.

копирование по 1000 записей задерживает реструктуризацию.

поэтому напишите ddl триггер, который сразу переименует основную таблицу в копию , а копию в основную таблицу.
40 Мандалай
 
09.09.19
16:30
Был какой-то финт ушами, с созданием промежуточной пустой таблицы с новой колонкой, поищи в гугле.
Независимо от того, куда вы едете — это в гору и против ветра!