Имя: Пароль:
1C
1С v8
Запись документа 40 секунд
0 Вуглускр1991
 
29.09.11
09:01
Привет!
Гляжу в технологический журнал ...
время                   ДЛИТЕЛЬНОСТЬ
29.09.2011 8:02:40    35,1579    6    rphost            3                        БАЗА    1CV8C    КОМП            1,SessionID=3        1    "SELECTMAX(Document238.Number) AS NUMFROMDocument238WHEREDocument238.NumberU LIKE 'PR%' ESCAPE '\'"    5918    1        ,ILev=READ_COMMITTED    User,AppID=1CV8C        Форма.Записать : Документ.Заявка.Форма.ФормаДокумента
----------
35 секунд выполняется запрос. Захожу в db2
connect БАЗА
SELECT MAX(Document238.Number) AS NUM FROM Document238 WHERE Document238.NumberU LIKE 'V8%'
---- не успеваю ухом моргнуть - уже выполнен.
Как такое может быть?
1 Леха Дум
 
29.09.11
09:03
(0) Дай угадаю - кэш?
2 Вуглускр1991
 
29.09.11
09:12
хз смотрю дальше ...
может конечно запрос в кэш попал. Но если второй док записывать - опять лажа на 40 секунд.
3 Вуглускр1991
 
29.09.11
15:16
Люди! Помогите понять почему 40 секунд?
запрос отрабатывает легко на только-что стартовавшей базе. никакого кэша.

29.09.2011 8:02:05        0,0086    1    'SELECT Fld750 FROM Consts WHERE RecordKey = 0x31'    "'Форма.Записать : Документ.Заявка.Форма.ФормаДокументаОбщийМодуль.ОМ1.Модуль : 88 : ДобавитьПрефиксУзла(Префикс);    ОбщийМодуль.ОМ1.Модуль : 77 : ПрефиксИБ = Константы.ПрефиксИБ.Получить();'"
29.09.2011 8:02:40        35,1681    1    'SELECT MAX(Document238.Number) NUM FROM Document238 WHERE Number LIKE "V8%" ESCAPE "\"'    Форма.Записать : Документ.Заявка.Форма.ФормаДокумента
4 Господин ПЖ
 
29.09.11
15:18
это непосредственно текст или твоя интерпритация? под юзером еще могут  rls довешиваться
5 vde69
 
29.09.11
15:19
1. статистику обнови
2. запись в технологический хурнал может сильно тормозить
6 Вуглускр1991
 
29.09.11
15:22
(4) Это все из технологического журнала.
rls-ов не делал.
(5) да, запись в техножурнал ведется постоянно. отключу вечером. сервак стопить нельзя.
7 Вуглускр1991
 
29.09.11
15:25
Процедура ДобавитьПрефиксУзла(Префикс) Экспорт
   
   ПрефиксИБ = Константы.ПрефиксИБ.Получить();
   Если НЕ ПустаяСтрока(ПрефиксИБ) Тогда
       
       Префикс = ПрефиксИБ + Префикс;
       
   КонецЕсли;
   
КонецПроцедуры

Процедура ПриУстановкеНовогоНомераДокумента(Источник, СтандартнаяОбработка, Префикс) Экспорт
   // Вставить содержимое обработчика.
   ДобавитьПрефиксУзла(Префикс);
КонецПроцедуры
8 vde69
 
29.09.11
15:31
(7) и где здесь твой запрос?
9 hhhh
 
29.09.11
15:32
может там не один этот запрос? Если типовая конфа, там еще порядка 30-40 процедур вызывается.
10 vde69
 
29.09.11
15:32
(8)+ может у тебя есть подписка на событие изменения номера и в нем идет проверка префиксов?
11 Reaper_1c
 
29.09.11
15:33
(6) Да включение/отключение ТЖ перезапуска сервера 1С не требет!
12 Вуглускр1991
 
29.09.11
15:33
(8) SELECTMAX(Document238.Number) AS NUMFROMDocument238WHEREDocument238.NumberU LIKE 'PR%' ESCAPE '\'
Запрос вот этот вызывается платформой при исполнении
ДобавитьПрефиксУзла(Префикс);
13 Вуглускр1991
 
29.09.11
15:38
(11) заработало ...
(5) спасибо! волшебник?
14 vde69
 
29.09.11
15:42
(13) а теперь ищи причину почему тормозит запись тех журнала...

может дефрагментация, может антивирус весь файл проверяет и т.д.
15 Вуглускр1991
 
29.09.11
15:50
(14) Голый линукс. нет антивирусов. ext4 или ext3 ...
Я вчера ускорил машину тем, что двухмесячный лог работы пользователей снес он весил 6 Гиг. Сейчас вот ещё журнал технологический ...
Почему 1С принесла из 7-ки эту дурную привычку писать лог работы пользователей в файл. Ну хоть бы по выбору файл/база/поток внешней компоненты/null.
16 vde69
 
29.09.11
15:52
(15) по линуху я не спец, но это проблемма сервера а не 1с...

кстати на винде вроде можно писать через пользовательский одбс в любую субд, хотя не проверял :)
17 Вуглускр1991
 
29.09.11
16:01
(16) Администрирование -> настройка журнала регистрации -> нету ОДБС (13.219)