|
долгая выгрузка базы в дт | ☑ | ||
|---|---|---|---|---|
|
0
hiddi
13.05.26
✎
00:50
|
После переход на новый сервер windows 2025, sql 2025 база УНФ стала очень долго выгружаться в дт. Заметил что застревает на простейшем запросе
SELECT _Fld12908_TYPE, _Fld12908_RTRef, _Fld12908_RRRef, _Fld12909, _Fld12910, _Fld12911_TYPE, _Fld12911_RTRef, _Fld12911_RRRef, _Fld12912, _Fld12913, _Fld12914RRef, _Fld12915, _Fld12916, _Fld12917, _Fld12918, _Fld12919, _Fld12920, _Fld12921, _Fld12922, _Fld29656, _Fld1353 FROM _InfoRg12907 всего 800 тысяч записей. Если мониторить план запроса, идет прям очень медленно около 50 записей в секунду. И все это по кластерному индексу. Если просто выполнить этот запрос, все 800 тысяч выбираются довольно быстро - 4 сек (и те наверно просто на передачу данных). Пробовал ребилд индекса, обновление статистики - не помогло. Гугл ИИ говорит проблема не в скуле, а за пределами скуля.. Куда копать? |
|||
|
1
H A D G E H O G s
13.05.26
✎
00:51
|
Копать в сторону BinaryData
|
|||
|
2
hiddi
13.05.26
✎
00:54
|
(1) а подробнее можно?
|
|||
|
3
H A D G E H O G s
13.05.26
✎
00:57
|
(2) Что говорит
SELECT count(*) FROM [base1C].[dbo].[BinaryData] SELECT sum(datalength(f_data))/1024/1024 FROM [base1C].[dbo].[BinaryData] |
|||
|
4
hiddi
13.05.26
✎
01:11
|
318430
1305 |
|||
|
5
H A D G E H O G s
13.05.26
✎
01:17
|
(4) Попробуйте на копии очистить таблицу binaryData и выгрузить dt-шник. Но вообще - не похоже, в принципе, адекватный размер.
|
|||
|
6
hiddi
13.05.26
✎
01:19
|
(5) пока были на 2019 сервере вроде не жаловались
|
|||
|
7
H A D G E H O G s
13.05.26
✎
01:33
|
(6) Лучше попробовать, чем не попробовать
|
|||
|
8
hiddi
13.05.26
✎
01:58
|
(5) Ошибка хранилища двоичных данных - 'Ошибка блочного хранения двоичных данных'
|
|||
|
9
H A D G E H O G s
13.05.26
✎
02:17
|
(8) В выходные поеду в Тверскую область, в лесу постараюсь найти костяк лося и погадаю на лопатке, что же вы имели ввиду, говоря "Ошибка хранилища двоичных данных". Нет, так то я знаю, что это за ошибка, но она настолько многогранна, что нужна лопатка лося.
|
|||
|
10
hiddi
13.05.26
✎
02:25
|
(9) :) это после очистки таблицы выдал 1С конфигуратор при попытке выгрузки
|
|||
|
11
H A D G E H O G s
13.05.26
✎
02:35
|
(10) Очистки данных из таблицы или ее полного удаления? Она осталась в структуре таблиц SQL без записей, ведь так?
|
|||
|
12
H A D G E H O G s
13.05.26
✎
02:37
|
Что говорит
SELECT count(*) FROM [base1C].[dbo].[BinaryData] ? |
|||
|
13
hiddi
13.05.26
✎
08:06
|
(11) после truncate
(12) 0 |
|||
|
14
H A D G E H O G s
13.05.26
✎
10:15
|
(13) В конфигураторе попробовать ТИИ
|
|||
|
15
hiddi
13.05.26
✎
10:19
|
(14) с пустым BinaryData?
|
|||
|
16
H A D G E H O G s
13.05.26
✎
10:20
|
(15) Да
|
|||
|
17
Террз
18.05.26
✎
15:38
|
Аналогичная проблема.
Выгрузка базы по объему в 3 раза больше проходит раз в 10-15 быстрее. показатели запроса 312375 1895 (для сравнения на других базах, которые больше и выгружаются быстрее эти показатели нулевые) |
|||
|
18
hiddi
18.05.26
✎
21:43
|
(17) что по версиям систем у вас? Винда, скл, 1с?
|
|||
|
19
H A D G E H O G s
21.05.26
✎
17:48
|
Вы разбудили деда.
Создадим 2 справочника и наполним их одинаковым размером данных. Первый справочник будет содержать двоичные данные: &НаСервере Процедура СоздатьНаСервере() Двоичное=Новый ДвоичныеДанные("C:\tmp\tmp.trc"); Для Сч=1 По 1000 цикл Элемент=Справочники.Справочник1.СоздатьЭлемент(); Элемент.Наименование="Элемент"+Строка(Сч); Элемент.Реквизит1=Новый ХранилищеЗначения(Двоичное); Элемент.Записать(); КонецЦикла; КонецПроцедуры Второй справочник - неограниченную строку: &НаСервере Процедура СоздатьНаСервере() Чтение=Новый ЧтениеТекста("D:\tmp\tmp.txt"); Данные=Чтение.Прочитать(); Для Сч=1 По 1000 цикл Элемент=Справочники.Справочник2.СоздатьЭлемент(); Элемент.Наименование="Элемент"+Строка(Сч); Элемент.Реквизит1=Данные; Элемент.Записать(); КонецЦикла; КонецПроцедуры Заполним 2 справочник строками по 6 Мб, получим базу в 6 Гб и выгрузим dt-шник. Он выгрузится почти мгновенно. Заполним 1 справочник файлами по 6 Мб, получим базу в 12 Гб и выгрузим dt-шник. Он выгрузится за несколько минут. Посмотрим хранилище запросов и нам всё станет понятно: передайте это
|
|||
|
20
hiddi
21.05.26
✎
20:03
|
(19) У меня кстати в плане запроса BinaryData не светится. Только Clustered Index Scan по _InfoRg12907
|
|||
|
21
hiddi
21.05.26
✎
20:06
|
(20) что в общем то логично - в запросе нет его
|
|||
|
22
H A D G E H O G s
21.05.26
✎
20:25
|
(21) после того, как почистили binary - делали ТИИ с исправлением Двоичных?
|
|||
|
23
hiddi
21.05.26
✎
21:20
|
(22) да, не дождался.. через пару часов сбросил
|
|||
|
24
H A D G E H O G s
21.05.26
✎
21:27
|
(23) Ну можно поставить на ночь, дождаться и потом попробовать выгрузить dt-шник. Уверен, что причина в (19).
Ну или перед выгрузкой dt сбросить хранилище запросов SQL и, как пройдет немного времени - посмотреть наиболее частные запросы - скорее всего будет как на картинке. |
|||
|
25
hiddi
21.05.26
✎
22:17
|
(24) ну ок.. допустим я увижу что это BinaryData тупит. что то сделать с этим можно?
|
|||
|
26
arsik
гуру
22.05.26
✎
08:12
|
А зачем в DT выгружать в наше время?
|
|||
|
27
X Leshiy
22.05.26
✎
10:14
|
(26) Ну например, прод на сервере, а разработка в файловой.
|
|||
|
28
Garykom
гуру
22.05.26
✎
10:17
|
(26) Например доступа к СУБД нет и админов хрен достучишься
|
|||
|
29
Garykom
гуру
22.05.26
✎
10:18
|
(27) На разработку в файловой можно забить после появления лицензий для разработчиков
|
|||
|
30
shuhard
22.05.26
✎
10:23
|
(25)[что то сделать с этим можно?]
платформу 1С одновременно с переходом на сиквел 2025 меняли ? |
|||
|
31
X Leshiy
22.05.26
✎
10:47
|
(29) И СУБД на отдельном сервере развернуть, да. Ну как бы да) У некоторых вообще отдельные связки под тестовые и разработку)))
Но бывает всякое. |
|||
|
32
arsik
гуру
22.05.26
✎
10:55
|
(29) Ну у меня сейчас так. Скуль develop + 1c develop на рабочем компе развернуты. Все лицензионно чисто.
Я по этому вопрос и задал. Одна проблема в таких вариантах - нужно место под развернутые базы, а мегабайты нынче дороговаты. |
|||
|
33
hiddi
23.05.26
✎
20:24
|
(30) ну не одновременно, но примерно в пределах недели-двух. сейчас 8.5.1.1343
|
|||
|
34
hiddi
23.05.26
✎
20:30
|
до этого долгое время было 8.3.27.1719
|
|||
|
35
craxx
25.05.26
✎
01:20
|
(26) Например перенос с одного сервера на другой, на одном MS SQL, на другом Postgres
|
|||
|
36
DrZombi
гуру
25.05.26
✎
06:30
|
(27) Бредово. А когда база под Парочку терабайт достигнет, тогда как? :)
|
|||
|
37
DrZombi
гуру
25.05.26
✎
06:29
|
(35) Это разовая операция, и время тут чисто заурядность.
Пример, бывает такое. https://infostart.ru/1c/articles/1595040/ И приходится просто ждать :) |
|||
|
38
Dmitrii
гуру
25.05.26
✎
10:15
|
(36) >> Бредово.
Отнюдь. Это жизнь. Далеко не всегда удобно разворачивать у себя сервер(ы) СУБД для доработок. В особенности когда ты фрилансер с кучей клиентов, у каждого из которых свой зоопарк - у кого-то файловая (и это далеко не единицы), у кого-то MS SQL, у кого-то PoctgreSQL. Понятно, что когда ты - разработчик в крупной компании, у тебя должны быть отдельные контуры разработки и тестирования со своими серверами приложений и СУБД версий аналогичных тем, что стоят в проде. Но это далеко не единственный сценарий работы 1С-ника. >> А когда база под Парочку терабайт достигнет, тогда как? Проблемы надо решать по мере их поступления, а не авансом на далёкое будущее, которое может никогда не наступить. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |