Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как можно ускорить запрос в 1000 строк? Выполняется около 5 секунд.

↓ [piter3, 10.10.19 - 08:33]
Как можно ускорить запрос в 1000 строк? Выполняется около 5 секунд.
Я
   RetardedToBoot
 
10.10.19 - 05:41
Есть запрос под 1000 строк, выполняется около 5 секунд и это напрягает...

Выборки данных немного, все по индексированным полям, вроде все должно быть быстро,
в основном куча последующих проверок и перепроверок.
В этом запуске кроме запроса ничего не выполняется, и замер пишет что это этот запрос 97%.

Я предполагаю, что он долго компилируется, т.к. если в нем сделать синтаксическую ошибку,
то сообщение об ошибке появляется с той же задержкой около 5 секунд.

База файловая, 8.3.15, половина пользователей в тонком клиенте через веб.

Это как нибудь лечится?
 
 
   Rovan
 
1 - 10.10.19 - 06:32
не видя запрос ничего посоветовать нельзя... сохрани его  в облако, а сюда ссылку
Кому интересно - посмотрит
   ДенисЧ
 
2 - 10.10.19 - 06:36
Удали 15, 345 И 987 строки.
Будет быстрее работать.
   DrZombi
 
3 - 10.10.19 - 06:55
(0) В строке № 456 ошибка в полной бездарности написания запроса... :)
   DrZombi
 
4 - 10.10.19 - 06:56
+(0) Если серьезно, рекомендую вам разобрать запрос и проанализировать его, может где не оптимально его используют.
Либо стоит рассмотреть вариант, где бы вы добавили некие регистры в конфигурацию уже с готовыми данными, что бы в запросе не проводить вычисления :)
   DrZombi
 
5 - 10.10.19 - 06:59
+ И давайте уже переходите на SQL или посгрес, файловые базы в основном используются для демонстраций, либо для очень маленькой конторки, где один сотрудник на всю базу, с документо-оборотом 1 документ в год :)
   Cyberhawk
 
6 - 10.10.19 - 07:41
Самое простое - засунуть этот запрос в ИР и выполнить пошагово, посмотришь какой шаг самый жирный
   DrZombi
 
7 - 10.10.19 - 08:13
+ Есть вариант, разбить твой запрос 1000 срок, на мелкие запросики используя МенеджерВременныхТаблиц.
   piter3
 
8 - 10.10.19 - 08:14
Или текст запроса или закрываю ветку.
   rphosts
 
9 - 10.10.19 - 08:17
(0) Оптимизирую код усилием мысли, лечу запросы по фотографии...

Как можно давать советы не посмотрев ни запрос ни план выполнения... там не parametrs sniffers?
   MadHead
 
10 - 10.10.19 - 08:22
Без понимания плана запроса сложно рассуждать о оптимизации. Так что нужно поставить примерный план запроса в голове, но для этого нужен текст запроса или выполнить и в СУБД посмотреть план запроса.
   RetardedToBoot
 
11 - 10.10.19 - 08:25
(4)(5)(6),... А чем это поможет, если 1с анализ синтаксиса производит его 5 секунд, а выполнение как следствие оставшиеся 0.н секунд?
   g00d
 
12 - 10.10.19 - 08:28
я туплю или текста запроса нет?
   hhhh
 
13 - 10.10.19 - 08:37
(11) ну сам понимаешь, что 1000 строк - это до такой степени мизерный запрос, что про анализ синтаксиса это ты схохмил наверно, он выполняется за наносекунды. Поэтому лажа у тебя именно в тексте запроса.
   strange2007
 
14 - 10.10.19 - 08:48
Тонкий намёк на то, что в 1С запросы в принципе не умеют работать)))))

Ну возьми, например, запрос из ЗУПа, который р/л формирует. Там иногда дольше 5 секунд работает. Но там больше 2000 строк и переколбашивается вся база. Так что выкладывай текст запроса, тогда уж можно и судить
   MyNick
 
15 - 10.10.19 - 09:05
(0) А я напишу запрос в одну строку, который положит на лопатки все твои rphostы. Могу научить. Дорого.
   Cyberhawk
 
16 - 10.10.19 - 09:07
(11) "1с анализ синтаксиса производит его 5 секунд" // Это ты про что и как выяснил? Дичь какая-то)
   MyNick
 
17 - 10.10.19 - 09:08
(16) ну может у него там ERP и запрос как раз по 1000 объектам. Пока он GUI отрисует в консоли запросов, 5 секунд и проходит, мыж не знаем.
   xXeNoNx
 
18 - 10.10.19 - 09:10
(0) лечится что?
   xXeNoNx
 
19 - 10.10.19 - 09:12
(0) запрос под 1000 строк листинга? Или этот запрос возвращает 1000 строк, или третй вариант?
   Lama12
 
20 - 10.10.19 - 09:40
(0) что мешает проанализировать текст запроса? 1000 строк, это не много. Работал и с запросами в 80000. Можно же все по разобрать. Слона надо есть по кусочкам, а не пытаться запихнуть сразу в глотку.
   strange2007
 
21 - 10.10.19 - 10:45
А так да, знатный вброс. Автор там хихикает сидит))))
   Cyberhawk
 
22 - 10.10.19 - 10:56
(17) "GUI отрисует" // Так автор же вроде на время выполнения запроса сетует
   RetardedToBoot
 
23 - 14.10.19 - 03:40
(21) А в чем юмор, что бы мне хихикать то?

Вот запрос кто хотел:
https://drive.google.com/open?id=1ok9KmGsLsT4kPDVpmtVthrJFfm_CHAe9

Но смысл от этого не меняется, если делаю спициально ошибочную правку, то он висит те же 5 секунд, прежде чем начать ругаться на ошибку, т.е. эти пять секунд он пытается разобрать этот запрос. А данных там на выполнение буквально штук пять мелких документов, и все по индексам. Это анализ на ошибки одного счета и его подчиненных документов. Сделан наполовину генерационным способом.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.