|
Замер производительности удивляет ) | ☑ | ||
---|---|---|---|---|
0
mih_io
05.08.12
✎
13:10
|
Делаю отчет. Вывожу остатки 5к+ позиций на определенную дату. Вижу выполняется долго, включаю замер производительности и не понимаю, почему 70% времени отъедает первое обращение к любому реквизиту определенного справочника.
Вот картинка http://clip2net.com/s/2b7LJ Если я строки 1 и 2 поменяю местами, то он будет уже долго выполнять вторую строку. Т.е. выполняется долго именно первое обращение к любому реквизиту этого справочника. Справочник не из типовой, но и ничего в нём необычного нет. Никому не подчинен, на борту с пяток реквизитов. Подскажите, что это? |
|||
1
Лалалалилалалала
05.08.12
✎
13:12
|
интеллектуальное кэширование
|
|||
2
Лалалалилалалала
05.08.12
✎
13:13
|
при первом обращении выполняется соединение с базой через сеть, после чего экземпляр хранится в кэше и последующие чтения выполняются из оперативной памяти
имхо |
|||
3
Hans
05.08.12
✎
13:13
|
А в запросе это сразу нельзя получить?
|
|||
4
mih_io
05.08.12
✎
13:16
|
Можно конечно, поле СвойствоТары получается из запроса. И дальше спустится не сложно конечно. Меня удивляет просто, что это.
(2),(3) база установлена локально. По идее на второй и третий раз формирования этого запроса, было бы счастье тогда ) Ведь я больше чем уверен, если я вот также же, тут же обращусь к реквизитам справочникам номенклатура, которая тоже формируется в этом запросе, то ничего подобного не будет. пойду кстати попробую ) |
|||
5
H A D G E H O G s
05.08.12
✎
13:19
|
При обращении через точку в коде - читаются все реквизиты справочника, документа, задачи, и.т.д.
|
|||
6
Fragster
гуру
05.08.12
✎
13:22
|
(0) баян.
|
|||
7
mih_io
05.08.12
✎
13:23
|
вот чуть теста. у меня есть два новых справочника, тара и свойство. И там и там небольшой набор реквизитов. При обращении к первому, полет нормальный
(5) да, это я понимаю. Но у справочника 4 строковых реквизиты, и 3 реквизиты типа ссылка (не составные). Попробую по очереди их типа на копии поменять или удалять. |
|||
8
mih_io
05.08.12
✎
13:24
|
(6) не спорю, что я не первый. Просто раньше не сталкивался, да и не встречал такую проблему у других. Если знаете решение, буду благодарен.
|
|||
9
mih_io
05.08.12
✎
13:24
|
запарился. не выложил ссылку на картинку для сообщения (7)
http://clip2net.com/s/2b7Sl |
|||
10
H A D G E H O G s
05.08.12
✎
13:27
|
4 строковых реквизита
Строковые бывают разные |
|||
11
H A D G E H O G s
05.08.12
✎
13:28
|
SQL?
Насколько количество элементов справочника Тара отличается от количества элементов справочника Свойства? |
|||
12
H A D G E H O G s
05.08.12
✎
13:29
|
RLS?
|
|||
13
H A D G E H O G s
05.08.12
✎
13:29
|
Доктор, меня все игнорируют
|
|||
14
mih_io
05.08.12
✎
13:32
|
файловая. RLS нет. сейчас сделаю картинку насколько отличаются )
|
|||
15
mih_io
05.08.12
✎
13:39
|
отчет конфигурации по этим двум объектам
http://narod.ru/disk/58891530001.f527d0bf03cdb2f11afdbd197ea19df5/otchet.mxl.html |
|||
16
mih_io
05.08.12
✎
13:46
|
(11) туплю. вы же про количество. тары 100 элементов, свойства 40 000 элементов. Сейчас попробую удалить уже ненужные свойства.
|
|||
17
Fragster
гуру
05.08.12
✎
15:24
|
(8) получить все в запросе/запросом
|
|||
18
Fragster
гуру
05.08.12
✎
15:24
|
без запроса в цикле?да
|
|||
19
Fragster
гуру
05.08.12
✎
15:25
|
там "," в (18)
|
|||
20
mih_io
05.08.12
✎
15:39
|
(17) да, переделал уже данные брать из запроса. Стало нормально. Для меня до сих пор загадка, почему так отрабатывает. Ведь ссылка уже есть, спозиционировались.
|
|||
21
Fragster
гуру
05.08.12
✎
15:47
|
ссылка <> данные
|
|||
22
mih_io
05.08.12
✎
15:56
|
(21) Получается когда мы просим какой то реквизит ссылки, 1с-ка сперва на нем должна спозиционироваться на основании своего внутреннего кода и только потом выдать его реквизиты? Надо будет в этом моём коде сделать не обращение к реквизиту, а юзнуть функцию ПолучитьОбъект(), получается 1с-ка сперва это делает?
Просто если бы было это за правило каждый раз, то напоролся на такие грабли существенно раньше. Со справочником номенклатуры работал ни один раз, когда там элементов было существенно больше. ладно, в любом случае спасибо. надо будет подтянуть матчасть. |
|||
23
orefkov
05.08.12
✎
16:01
|
(22)
Ссылка это ссылка, 16ти байтный идентификатор элемента. При первом обращении к реквизитам - читаются из базы ВСЕ реквизиты. Далее реквизиты уже берутся из памяти. Что конечно, не совсем правильно с точки зрения целостности данных, но проще и быстрее. |
|||
24
mih_io
05.08.12
✎
16:14
|
(23) тут видимо дело в другом. Что перед тем как выдать все реквизиты, надо сперва спозиционироваться в этом справочнике. Считай провести поиск по нему. И если я в цикле вывожу реквизиты справочника, то он каждый раз делает поиск.
Ибо вот как уже 3 года делаю отчеты используя СКД или построитель и всегда было ок. А тут менеджеры слишком тяжелы для всех этих настроек и оно их дюже пугает, поэтому один основной запрос и все нужные реквизиты ручками достаю и вставляю куда надо. Видать и легло. Вообщем понятно. |
|||
25
H A D G E H O G s
05.08.12
✎
17:41
|
(23) Жаль, что этим управлять нельзя. Включить, выключить.
|
|||
26
hhhh
05.08.12
✎
17:46
|
(24) если вы в цикле делаете - это называется "запрос в цикле". За это на экзаменах по 1с сразу расстреливают.
|
|||
27
Jolly Roger
05.08.12
✎
19:06
|
(26) даже если цикл запросов вне транзакции?
|
|||
28
rs_trade
05.08.12
✎
19:35
|
(27) запросы в цикле, в транзакции это песня просто какая то. рекомендуется к написанию в модуле проведения.
|
|||
29
acsent
05.08.12
✎
20:17
|
(24) сдается мне чтоты не понимаешь как сиквел работает
|
|||
30
ILM
гуру
05.08.12
✎
20:48
|
(26) Иногда можно и запросы в цикле делать.
Например, при задачах разузлования или при построении стоимостных деревьев производства, или для алгоритма установки дерева зависимостей в калькуляции по финансовой бизнес моделе организации. |
|||
31
H A D G E H O G s
05.08.12
✎
20:55
|
(29) Он не попадает в индекс!
|
|||
32
ILM
гуру
05.08.12
✎
21:32
|
Может категории выводить. Кому нужны 5к+ в отчете?
|
|||
33
ILM
гуру
05.08.12
✎
21:39
|
(0) А что у вас за тип значения аСвойство у вас? Это массив или список значений? Поясните.
|
|||
34
orefkov
05.08.12
✎
21:50
|
(23) Управлять этим можно только одним способом - вытащить нужные реквизиты еще в запросе.
|
|||
35
v8Newbie
05.08.12
✎
22:06
|
(0) Ради експеримента вытащи конфу на SQL и посмотри профайлером, что делает сервер.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |