Конфигурация компьютера:
i7-3770, 32Gb RAM, SSD 256Gb (под базу)
Windows 2008R2 Standart x64,
MS SQL 2008r2 x64,
1С Предприятие 8.3.7.1917
Типовая Бухгалтерия Предприятия 2.0 2.0.65.14, размер папки с базой и журналом транзакций - 65 Гб.
Позиций номенклатуры >165000, документов в базе за 2 года (2014,2015). Каким образом можно ускорить процесс по замене дублирующихся значений?
На языке 8.х пишу, но еще не очень хорошо
(4) Sanario, Ну во-первых нужно псомотреть что внутри там, скорее всего там запрос по всем справочникам. Оно Вам надо?(Соответственно можно сократить до справочника номенклатуры). Таким образом количество дублей снизится. Так же, как вариант, можете поискать публикации тут именно по номенклатуре. За 1sm думаю найдете что-нибудь.
(1) Sanario, как бы 32 гектара ОЗУ под такие дела маловато будет. у меня на старой работе для бухии с размером 85 гектар брали сервак с 200 гектарами памяти. тут только частями прогонять очистку задвоеных элементов. етить колотить 100к двойняшек. да там не ручки надо отрывать, а головы тупые сворачивать.
(5) PhoenixAOD, гербовой нет - пишем на обычной. 32Gb оперативки - это максимум что пока я могу получить. А сколько счас нормальный сервер стоит, не мне Вам рассказывать...
(1) Sanario, если речь идет о дублях в полном понимании этого слова, то есть готовая обработка поиск и замена дублирующих значений.
Делаем копию, тренируемся в использовании. Выполняем тоже самое на рабочей базе. Объекты удаляются безвозвратно, поэтому ошибки исключены!
(31) Sanario,
у доработанной здесь https://www.youtube.com/watch?v=ZqatwK-Cumo настроек поболе будет. - И таки да, проверил на копии ИБ (файловая, 3Гб), работает корректно (там ссылка на скачивание под катом)
Вылетает когда?
При поиске дублей или уже при слиянии?
Я бы ввел квотирование.
т.е. Поискал дубли с первой, например тысячей, обработал, тоже по порциям. По пол сотни документов за заход.
по времени наверняка не ускорится, но пагубное влияние на работу минимизирует, а с каждой итерацией будет приближать к конечному результату.
(7) vkozak, все понимаю, и обрабатываю поиск номенклатуры по группам, но даже по одной группе номенклатуре в системе почти полное заполнение оперативки. Если бы не поставил ограничение в 24Gb для скуля, так тот бы наверное вообще все сожрал
(13) frankeinstein, бухгалтера обнаружили спустя месяц, но за это время успели набить больше 2000 документов, ну как бы офигеть(
Бэкап есть, но теперь не вариант точно - перепроводили документы, меняли, документы шлепали, операции вручную (по 32000 видел). Бэкапы снимаются каждые сутки по 2 раза в сетевое хранилище: утром в 6:00 и вечером в 22:00. Вот такая вот фигня
(14) Sanario, ну не вбивать же документы ручками, а, как полагается, использовать многоуважаемую конвертацию данных, может обработки какие найдешь, сейчас чего только не написано
(15) frankeinstein, с КД дружу плохо, да и релизов проскочило уже больше 10 в 1с. Да и если по уиду переносить - дубли будут - ведь набивали уже по задвоенным позициям, и даже если искать, то заново будет с самого начала - по регистрам, документам и прочее :(
(16) Sanario, ну тебе виднее, может взять в аренду памяти у кого. Можно купить память, погонять, потом вернуть в магазин в течение 2 недель, чем не вариант. )))
(17) frankeinstein, если помнишь (не против, если на ты?), то у Windows 208R2 Standart идет ограничение на использование оперативной памяти. Если не ошибаюсь, то как раз 32 Гига
(20) makfromkz, первая 1000 наименований номенклатуры?:) Я беру по группам, их много, в каждой как раз таки не больше 1000, просто движений с этими элементами уже до..., вообщем много
Во общем ситуация поменялась мало. Небольшой прирост производительности почему-то дало отключение использование транзакции - скорее всего потому, что теперь хваталась не вся таблица номенклатуры целиком, а по очереди, но процесс еще продолжается ... Так что тема еще актуальна