![]() |
|
Можно ли ускорить выполнение запроса? | ☑ | ||
---|---|---|---|---|
0
ДНН
08.11.20
✎
21:53
|
Комплексная автоматизация 1.1.
Простейший запрос: Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ РегистрСведений." + ИмяКлючаАналитики + " КАК Аналитика ГДЕ Аналитика.Ссылка = &КлючАналитики"); Выполняется 700 раз, общее время примерно 2 секунды. ИмяКлючаАналитики может быть равно: 1) АналитикаВидаУчета 2) АналитикаРаспределенияЗатрат 3) АналитикаУчетаЗатрат 4) АналитикаУчетаПартий 5) АналитикаУчетаПрочихЗатрат В 2-х регистрах примерно по 25 000 записей, в третьем примерно 10 000, в остальных двух меньше 1000. Ресурс Ссылка проиндексирован во всех регистрах. Данный запрос лидер в замере производительности. Выполняется 700 раз, потому что в документе 100 строк (то есть чем больше строк, тем больше запросов). Записей, которые можно удалить из регистров очень мало (меньше 100, это те где помечена на удаление номенклатура). А если ли возможность ускорить выполнение запроса? Если да, то как? |
|||
1
H A D G E H O G s
08.11.20
✎
22:17
|
Время выполнения 1 раза - 2 миллисекунды и меньше. Слишком быстро, я вам не верю.
|
|||
2
H A D G E H O G s
08.11.20
✎
22:17
|
Вернее, 3 миллисекунды.
|
|||
3
H A D G E H O G s
08.11.20
✎
22:17
|
Не выполнять его 700 раз
|
|||
4
ДНН
08.11.20
✎
22:22
|
(1) Так показывает замер производительности. А почему слишком быстро? Если железо хорошее и индекс есть
|
|||
5
ДНН
08.11.20
✎
22:25
|
(1) Вот 2 первые строки из замера https://priscree.ru/img/6dfa62ddae492c.png
|
|||
6
H A D G E H O G s
08.11.20
✎
22:31
|
3 мс - это прекрасный результат. Лучше не будет
|
|||
7
ДНН
08.11.20
✎
22:43
|
(6) Понял, спасибо. Если можно, еще такой вопрос: все ли показывает замер производительности? Например, на скриншоте 2 секунды это примерно 15%. Всего проведение выполняется примерно 14 секунд. Впринципе соответствует. Но если сложить первые строк 100, то даже 10 секунд не наберется. А дальше уже идут записи где время равно 1 мс или даже меньше. Или сюда не попадает время на запись движений в регистры после окончания проведения?
|
|||
8
ДНН
08.11.20
✎
22:50
|
% в результатах замера - это % от суммы времени в результатах замера? Или где-то фиксируется общее время и это % от этого времени?
|
|||
9
Фрэнки
08.11.20
✎
22:56
|
это не абсолютно точные замеры.
винда не является системой реального времени |
|||
10
H A D G E H O G s
08.11.20
✎
23:03
|
(7) Не задавался этим вопросом.
|
|||
11
Злопчинский
08.11.20
✎
23:11
|
проведение 14 секунд? и скольбко таких проведений в день/час/минуту?
|
|||
12
ДНН
08.11.20
✎
23:18
|
(11) В среднем в день таких штук 10. Как правило в них больше 100 строк.
|
|||
13
H A D G E H O G s
08.11.20
✎
23:55
|
(12) Немного не вкурил вопрос. Да, если наборы записей регистров не записываются кодом, то в замер они не попадут. Смотрите профайлером.
|
|||
14
timurhv
09.11.20
✎
00:31
|
(7) Там недостоверные данные. Внутренние механизмы на стороне 1С не учитываются.
У самого показывало 4 минуты, а по-факту уходило 6 минут. Где-то статья на ИТС была по этому поводу. Приходилось извращаться и записывать время в микросекундах в массив и потом анализировать. |
|||
15
Злопчинский
09.11.20
✎
01:06
|
(12) блин какая тормозная система...
|
|||
16
hhhh
09.11.20
✎
02:42
|
(15) это всё из-за попыток создать что-то универсальное. Объять необъятное. Причем пока это выливается в увеличение количества и размеров. Например, раньше у справочника Номенклатура или Контрагенты было 10 реквизитов, сейчас минимум 50. Любой, даже самый маленький документ - это 50 реквизитов в шапке и еще 5 табличных частей по 20 реквизитов каждая. Причем в движениях документа не 3-4 регистра как раньще, а около 20 регистров. Гигантомания. Поэтому и время проведения уыеличилось в несколько раз.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |