Имя: Пароль:
1C
1С v8
АдресныйКлассификатор.ЧислоЗаполненныхАдресныхОбъектов() - Тормозит...
0 m1_1976
 
31.12.13
13:59
БУП 3.0.27.7 релиз 1С 1С:Предприятие 8.2 (8.2.19.80)
Клиент-сервер. Сервер на линуксе. База на Постгри.
Все нормально.
Но...
при открытии, точнее ПриСозданииНаСервере() в форме элемента справочника КОНТРАГЕНТЫ происходят жуткие тормоза.
провал на 29 сек!!!!
на Сабже собтсвенно!
В этой процедурке вот такой код:

Запрос = Новый Запрос("
        |ВЫБРАТЬ
        |    КОЛИЧЕСТВО(Регион.КодАдресногоОбъектаВКоде) КАК КоличествоЗагруженных
        |ИЗ
        |    РегистрСведений.АдресныйКлассификатор КАК Регион
        |ГДЕ
        |    Регион.ТипАдресногоЭлемента = 1
        |    И 1 В (
        |                       ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде=Регион.КодАдресногоОбъектаВКоде И ТипАдресногоЭлемента = 2
        |        ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде=Регион.КодАдресногоОбъектаВКоде И ТипАдресногоЭлемента = 3
        |        ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде=Регион.КодАдресногоОбъектаВКоде И ТипАдресногоЭлемента = 4
        |        ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде=Регион.КодАдресногоОбъектаВКоде И ТипАдресногоЭлемента = 5
        |        ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде=Регион.КодАдресногоОбъектаВКоде И ТипАдресногоЭлемента = 6
        |    )
        |");
    сообщить("м1_9ггггггг"+ТекущаяДата());
    Выборка = Запрос.Выполнить().Выбрать();
    сообщить("м1_9дддддд"+ТекущаяДата());
    
    Если Выборка.Следующий() Тогда
        Возврат Выборка.КоличествоЗагруженных;
    КонецЕсли;
    
    Возврат 0;

как-то можно победить? не снимая с поддержки?
1 m1_1976
 
31.12.13
14:03
В адресном классификаторе загружено семь - восемь регионов включая МСК, МСК область, С.Петербург, ленинградская область, Волгорад... и несколько мелких типа Астрахани
2 m1_1976
 
31.12.13
14:05
вопрос продубоирую...
Как-то можно победить? не снимая с поддержки?
хотя ответ то знаю... он меня огорчает
3 m1_1976
 
31.12.13
14:12
Очистил адресный классификатор. То есть в регистре сведений осталось чуть меньше 100 записей, соответсвующих регионам РФ..
задержка теперь не 29 сек, а всего 7...
Как запрос по таблице с сотней записей 7 сек делать.
Что не так у меня?
4 m1_1976
 
31.12.13
14:16
Новый год у всех уже... один я! :)
5 zladenuw
 
31.12.13
14:20
(0) так может РЛС есть ?
6 m1_1976
 
31.12.13
14:21
100% нет
новая база. Только поставил.
7 zladenuw
 
31.12.13
14:23
значит проблема не с базой. возможно задержка сети
8 m1_1976
 
31.12.13
14:23
Другие запросы - нормально
9 m1_1976
 
31.12.13
14:24
Снял с поддрежки поставил вместо кода, который  был

Возврат 1;
10 m1_1976
 
31.12.13
14:25
(7) а причем тут сеть? клиент-сервер же вроде... между Серверов 1С и Сервером БД плохая сеть?
11 m1_1976
 
31.12.13
14:26
После (9) открывается мгновенно!
12 zladenuw
 
31.12.13
14:29
(10) так при том. что это клиент-сервер. и клиент ты запускаешь не на сервере. по этому могут быть задержки
13 m1_1976
 
31.12.13
14:35
(10) жуть какая... запрос по таблице в которой меньше 100 записей формировать 7 сек???? Я пойду обратно на ДБФ писать!

Нет. Мне, кажется, но это совсем ИМХО, - какая-то беда именно с этим запросом.
Может он как-то неверно написан?

Остальные модули проблем не вызывают. Как минимум открытие формы списка справочника - это тоже запрос, только другой. Форма списка открывается меньше полсекунды!
14 zladenuw
 
31.12.13
14:43
(13) в консоле запросов. столько же времени выполняется запрос ? хотя я буп не видел в глаза
15 m1_1976
 
31.12.13
14:44
сейчас проверю...
16 zladenuw
 
31.12.13
14:45
в запросе 6 объединение к самой таблице. может в этом ошибка. перепиши сам запрос :)
17 m1_1976
 
31.12.13
14:47
не понял.
18 m1_1976
 
31.12.13
14:48
Правда не могу теперь на ЛИНУХЕ загрузить кладр. 1С Говорит на ЛИнухе грузить не умею... :)
19 zladenuw
 
31.12.13
14:49
ОБЪЕДИНИТЬ ВСЕ  вот это объединение с таблицей.
20 m1_1976
 
31.12.13
14:49
в консоли запросов - работает мгновенно  этот запрос.
Выдает мой НОЛЬ и все
21 m1_1976
 
31.12.13
14:50
Но у меня нет никого в Адресном классификаторе
22 Злопчинский
 
31.12.13
14:54
(12) как-то япредполагал что трехзвенка сделана в т.ч. чтобы не гонять тучу инфы по сети, а только результат.. и как ы клиент не должен тормозить - он то и писался чтобы его юзать не вместе с сервером на одной машине.. или яне прав?
23 m1_1976
 
31.12.13
14:59
(22)  я как ослик "того же мнения".
так и сделано. Сервак отдельный под Сервер 1С. Отдельная железка под Сервер БД.
Бухи работают под тонкими клиентами. Что я не так "САРХИТЕКТУРИЛ" ??? :)
24 m1_1976
 
31.12.13
15:08
ЗАГРУЗИЛ КЛАДР. 11 регионов. В консоли запросов - теже 30 секунд этот запрос выполняется!

ВОПРОС.
А может на его скорость влиять регламентное задание ОБНОВЛЕНИИ ИНДЕКСОВ ППД???
25 Мимохожий Однако
 
31.12.13
15:18
(24)Отключи и убедись
26 МихаилМ
 
31.12.13
16:49
постгре
"не "любит" "выбрать первые" вообще

а "вабрать первые" без "упорядочить" по индексу ни одна субд нелюбит.