Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Методический вопрос по SQL базе (http://forums.kuban.ru/f1040/metodicheskij_vopros_po_sql_baze-8599597.html)

Minipuh63 15.02.2018 13:25

Методический вопрос по SQL базе
 
Есть ооочень запущенная контора с УТ 11.1 на SQL2008. Работает 24\7. Перерыв максимум ночь с субботы на воскресение. Данные в базе с 2009 года, соответственно база еле ползает. Предложение забить остатки в чистую базу гневно отвергнуто! ))) Им нужен как минимум 2017 год в текущей базе. Данные удаляются со скоростью месяц за 2 часа. По сути в базе сворачивать только взаиморасчеты, на остальное ....
Собственно вопрос - есть способ относительно быстрой обрезки части базы? Причем после обрезки база скорее всего будет файловой (контора в людях сильно похудела и Скуль по сути не нужен)

roma n 15.02.2018 18:09

сколько доков в 2017?
Как вариант - в чистой базе сгенерить остатки и перенести документы с их движениями.
ЗЫ данные удаляются со скоростью месяц за 2 часа: как думаешь, сколько нужно пересчитать итогов при удалении движений документа за лохматый год? отключи итоги и посмотри на скорость

Minipuh63 15.02.2018 23:39

Это скорость удаления с отключенными итогами.
Перенести документы не особая проблема, но нет зазора на работы. Пока будут переноситься данные набьют другие.

Я смотрел в сторону скриптов на SQL "срезающих" данные из базы. Потом проверка базы на пустые движения, перенос остатков и документов за текущий день. Кто нибудь такое делал?

USSR 16.02.2018 06:32

(2)Если есть знание структур таблиц, то конечно надо "резать" запросами. На 7.7 прямыми запросами практически мгновенно удалял документы и регистры, на 8-ке так пока не умею.
Как другой вариант - создай документы остатков по взаиморасчетам, но не проводи их. И очисть все регистры накопления (кроме взаиморасчетных), а взваиморасчетные только до даты сверткм. А потом уже проведешь документы начальных остатков и будешь удалять неделю или сколько получится ни на что не влияющие документы. Хотя чистить регистры может будет и не быстрее, я не пробовал. Но это просто в качетве идеию

roma n 16.02.2018 09:56

(2) [em]Это скорость удаления с отключенными итогами[/em] - сколько доков в месяце? [em]нет зазора на работы[/em] работает такая схема: создаёшь узел и в момент, когда начинаешь перенос включаешь авторегистрацию на нем, после окончания основного переноса итерациями переносишь зарегистрированные догоняя текущее состояние. Когда отставание будет минимальным (в идеале нулевым) - переключаешь рубильник
А так да - средствами SQL резать на уровне таблиц. ПолучитьСтруктуруХраненияБазыДанных и вперед.
PS кто-то из франчей такие услуги оказывал (ИжТиСи? Софтпойнт?) - попробуй с ними связаться

Пудель 16.02.2018 17:53

"данные в базе с 2009 года, соответственно база еле ползает."
Не факт, что это умозаключение верно.
Работа с текущими данными (текущими остатками и тп) при даже простом обслуживании скуля не должна существенно зависеть от "истории" - только от объёма движений в месяц.
Так что скорее всего на самом деле не просто с 2009 года, а куча мусора, пересорта, незакрытых ошибочных остатков. Но при обрезке эту проблему всё равно придётся решать.

bma1 16.02.2018 21:44

[quote=Пудель;45319837]а куча мусора, пересорта, незакрытых ошибочных остатков[/quote] похоже на то. а если еще и последовательность в каком-то давнем году осталась...

Minipuh63 17.02.2018 00:55

[quote=bma1;45320582] Цитата: Сообщение от Пудель а куча мусора, пересорта, незакрытых ошибочных остатков похоже на то. а если еще и последовательность в каком-то давнем году осталась... [/quote]

Мусора там горы. Регистры не закрываются. Остатки в минусах и прочеее. Я же писал - ооочень запущеный вариант. А еще в ней топталось как минимум 4 "специалиста" и такие конструкции висят в фоне - красотища!

android 20.02.2018 12:02

0-Minipuh63 >В свертке регистров и обрезкой их в SQL ничего сложного нет: создать ввод остатков, запросом в SQL удалить старые даннные, пересчитать итоги.
Только если регистр не закрывается - толку мало.
Для начала оцените размер таблиц - какие самые большие?


Текущее время: 02:58. Часовой пояс GMT +3.