|
Быстрая и наглая очистка таблицы Обороты регистра накопления. Кто пробовал? | ☑ | ||
---|---|---|---|---|
0
Dwarrior
23.07.19
✎
17:55
|
Доброго времени суток!
Задался задачей сжать базу УТ 10.3 на MSSQL. Как выяснилось, нехилый объем занимает таблица Обороты регистра Продажи за последние 10 лет. Как ее очистить? Решил на тестовой базе нагло и быстро выполнить "truncate table". Думал, сломал обороты. Ан нет! Запрос к Продажи.Обороты выполняется и показывает правильные цифры! Платформа видимо при отсутствии записей в оборотах считает их заново из основной таблицы. И, кстати, создает новые записи в Оборотах, за затронутый период. Отчеты, использующие обороты, формируются. Документы проводятся. Вроде все отлично. Теперь вопрос - кто-нибудь так делал? Это не грозит какими-то дальнейшими проблемами? Опасаюсь делать такое же в боевой базе |
|||
1
ChMikle
23.07.19
✎
17:57
|
Из конфигурации удали этот регистр, базу сохрани, а потом заново создай в конфигурации и снова сохрани
|
|||
2
lubitelxml
23.07.19
✎
17:58
|
может все-таки свернуть БД?
|
|||
3
Dwarrior
23.07.19
✎
17:59
|
(1) Так потеряю ж данные регистра? Данные нужны, за все 10 лет
|
|||
4
Dwarrior
23.07.19
✎
17:59
|
(2) Типовым методом? Нет, нужна аналитика продаж за 10 лет
|
|||
5
ChMikle
23.07.19
✎
18:00
|
(3)Как выяснилось, нехилый объем занимает таблица Обороты регистра Продажи за последние 10 лет.
Как ее очистить? |
|||
6
Dwarrior
23.07.19
✎
18:04
|
(5) Так речь же про Обороты, а не про Основную таблицу регистра!
|
|||
7
Вафель
23.07.19
✎
18:06
|
нужно было не все удалять, а только за старые периоды.
и это можно делать через настройки регистров |
|||
8
Dwarrior
23.07.19
✎
18:10
|
(7) УТ 10.3 в таком режиме совместимости, что нет начального периода расчета итогов. Только конечный.
Удалить обороты старого периода - хороший план, но в этой базе доступен только ПОСЛЕДОВАТЕЛЬНОЙ очисткой наборов записей по каждому регистру, что очень тяжело и муторно. |
|||
9
xXeNoNx
23.07.19
✎
18:58
|
Опомнитесь, Вы нарушаете лицензионное соглашение
|
|||
10
Смотрящий
23.07.19
✎
19:30
|
(9) Да плевали на него все. Лицухи есть, итс есть - идите лесом
|
|||
11
xXeNoNx
23.07.19
✎
19:33
|
(10) БГ, прости их, неразумных
|
|||
12
mistеr
23.07.19
✎
20:11
|
(11) Ты хотел сказать БН.
|
|||
13
ДенисЧ
23.07.19
✎
20:17
|
отключи использование итогов
|
|||
14
hhhh
23.07.19
✎
22:32
|
(12) всё ж таки БГ
|
|||
15
Aleksey
24.07.19
✎
03:26
|
||||
16
ink-nsk
24.07.19
✎
06:11
|
2(0) Итоги не забудь пересчитать. )))))))
|
|||
17
Лефмихалыч
24.07.19
✎
07:26
|
(0) чем ты занимался последние 12 лет таким, что это для тебя сюрприз?
итоги пересчитай. Иначе, когда пользователи набегут, устанешь на жалобы отвечать что-нибудь невнятное |
|||
18
ptiz
24.07.19
✎
08:48
|
(0) "Запрос к Продажи.Обороты выполняется и показывает правильные цифры" - за какой период показывает правильные цифры? Период итогов какой установлен?
|
|||
19
ptiz
24.07.19
✎
08:49
|
И толку от такой очистки - ноль, только вред.
|
|||
20
Dwarrior
24.07.19
✎
10:14
|
(19) Польза такая - размер базы уменьшился с 900Гб до 800Гб. По работе - никаких замедлений, обороты продаж считаются правильно (и быстро, что удивительно, нафик тогда вообще Обороты нужны?), документы проводятся.
(18) за любой, таблица оборотов очищена полностью. Период итогов - февраль 2019. (9) Да, верно, нарушаем. Но кто докажет и кому это нужно? Оно само сломалось (17) последние 12 лет не было нужды лезть в базу на уровне SQL. А сейчас есть - быстро и безболезненно уменьшить базу. Пересчитать итоги по регистру Продажи? |
|||
21
1Сергей
24.07.19
✎
10:19
|
(20) я бы ожидал, что оно скоро всё упадёт, если в итогах одно, а в основной таблице другое.
Самому не стрёмно? |
|||
22
Кац
24.07.19
✎
10:25
|
(20) Сомнительная польза - уменьшить размер базы на ~10%.
|
|||
23
unregistered
24.07.19
✎
10:29
|
(20) > Польза такая - размер базы уменьшился с 900Гб до 800Гб.
А с чего ты решил, что это польза? Иметь риск получения кем-либо из пользователей некорректных данных, и только лишь ради экономии чуть более 10% от размера базы. Ответьте себе на простой вопрос - а какой смысл от этой экономии 100Гб? База стала работать быстрее? - Нет конечно. Единственный сомнительный плюс - экономия дискового пространства на базу и бекапы. Но при нынешней копеечной стоимости Гб это достижении не выглядит таким уж значимым... |
|||
24
Dwarrior
24.07.19
✎
10:47
|
(21) Стремно, поэтому и спрашиваю совета у людей. Если это потенциально опасная операция - то лучше не делать конечно. Но пока все работает.
(22) Так это только Продажи. Еще другие регистры есть:) В итоге 50% удалось выкроить (23) Быстрее должны проводиться операции обслуживания базы (обновление статистики, перестроение индексов). Экономия места на сервере, да. Это важно, если расширение трудно реализовать - гипервизоры, дисковые полки с 100% загрузкой и спец. дисками. Кстати, попутный вопрос - у кого-нибудь есть базы более 1Тб? Надо ли их делить на несколько mdf? Стабильно ли работает? |
|||
25
ptiz
24.07.19
✎
10:58
|
(20) "за любой, таблица оборотов очищена полностью" - (с) не верю
Даже проверил в профайлере. Запрос за целый месяц - обращается к таблице итогов, даже если она пустая. И вернет пустоту. exec sp_executesql N'SELECT T1.Fld4328Turnover_, T1.Fld4329Turnover_ FROM (SELECT ISNULL(CAST(CAST(SUM(T2._Fld4329) AS NUMERIC(27, 2)) AS NUMERIC(27, 2)),0.0) AS Fld4329Turnover_, ISNULL(CAST(CAST(SUM(T2._Fld4328) AS NUMERIC(27, 3)) AS NUMERIC(27, 3)),0.0) AS Fld4328Turnover_ FROM dbo._AccumRgTn4333 T2 WITH(NOLOCK) WHERE T2._Period >= P1 AND T2._Period < @P2 AND (T2._Fld4329 <> @P3 OR T2._Fld4328 <> @P4) HAVING (ISNULL(CAST(CAST(SUM(T2._Fld4329) AS NUMERIC(27, 2)) AS NUMERIC(27, 2)),0.0)) <> 0.0 OR (ISNULL(CAST(CAST(SUM(T2._Fld4328) AS NUMERIC(27, 3)) AS NUMERIC(27, 3)),0.0)) <> 0.0) T1',N'P1 datetime2(3),@P2 datetime2(3),@P3 numeric(10),@P4 numeric(10)','4008-06-01 00:00:00','4008-07-01 00:00:00',0,0 |
|||
26
Dwarrior
24.07.19
✎
11:19
|
(25) В консоли запросов выполняю запрос:
ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.СтоимостьОборот ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты Период - январь 2015. Все данные на месте |
|||
27
ptiz
24.07.19
✎
11:36
|
(26) Чему равен &КонецПериода? Точно, до секунды.
|
|||
28
unregistered
24.07.19
✎
11:39
|
(24) > у кого-нибудь есть базы более 1Тб? Надо ли их делить на несколько mdf? Стабильно ли работает?
Поищи в сети описание проекта "Деловые Линии". У них база на самописной конфе более 2Тб. Было в прошлом или позапрошлом году. Сейчас, наверное, уже ещё больше. |
|||
29
unregistered
24.07.19
✎
11:43
|
(24) > Быстрее должны проводиться операции обслуживания базы... Экономия места на сервере...
Это всё понятно. Но 10%? Я понимаю, если бы речь шла хотя бы о трети базы или половине. |
|||
30
ptiz
24.07.19
✎
11:51
|
(24) > 1Тб на ОФ 8.2 - норм крутится. Глупостями типа чистки таблицы итогов не занимаемся. А если уж очень хочется, то есть штатный метод - ставишь итоги на 01.01.2001 и не двигаешь. В последних платформах 8.3 вообще можно любой период хранения итогов выбирать (например, только последний год).
|
|||
31
ink-nsk
24.07.19
✎
12:29
|
2(24) Про обслуживание базы - это про что? Ты итоги пересчитал после псевдооптимизации?
Это из оперы на 31 число одна сумма - на первое другая. Т.е. тут за полный период программа даст цифры, а за пол месяца - хрен. |
|||
32
Dwarrior
24.07.19
✎
16:30
|
(27) Период 01.01.2015-15.01.2015
(29) Так о том и речь. Регистр Продажи не единственный. В общем и целом сэкономил 50% размера базы. (31) Обслуживание базы - обновление статистики и перестроение индексов средствами MSSQL. Ну в принципе, я мысль понял - "Недокументированные возможности непредсказуемы и их использование вред". |
|||
33
Ёпрст
24.07.19
✎
16:35
|
Лучше б сжатие таблиц сделал, всяко твоя базенка похудела бы в разы.
|
|||
34
Ёпрст
24.07.19
✎
16:36
|
на вот, почитай на ночь
http://catalog.mista.ru/public/114634/ |
|||
35
Ёпрст
24.07.19
✎
16:38
|
ну и это, в догонку
http://catalog.mista.ru/public/692209/ |
|||
36
ptiz
24.07.19
✎
20:19
|
(32) А теперь поставь 01.01.2015-31.01.2015 23:59:59
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |