Имя: Пароль:
1C
1С v8
Тормоза при создании временных таблиц в пакетном запросе
0 SSkripagan
 
06.08.12
09:33
Товарищи.  
Столкнулся со следующей "непоняткой".

2 элементарных запроса.

1. ВЫБРАТЬ
   Док.Ссылка,
   Док.ВидРасчета
ПОМЕСТИТЬ ВТ
ИЗ
   Документ.НачислениеЗарплатыРаботникам.Начисления КАК Док
ГДЕ
   Док.Ссылка = &Ссылка

2.  ВЫБРАТЬ
   Док.Ссылка,
   Док.ВидРасчета
ИЗ
   Документ.НачислениеЗарплатыРаботникам.Начисления КАК Док
ГДЕ
   Док.Ссылка = &Ссылка



Так вот.  1 запрос выполняется -  5 - 10  сек
2. 1 - 2

Откуда может быть такой чудовищный рост времени выполнения при использовании временной таблицы ?
1 mikecool
 
06.08.12
09:35
(0) первый пишет данные во временную таблицу
2 Нуф-Нуф
 
06.08.12
09:36
темпДБ большая? находится на тухлом диске?
3 Нуф-Нуф
 
06.08.12
09:36
(1) ну как я понимаю автор это знает. вопрос в чем почему так долго данные пишутся
4 mikecool
 
06.08.12
09:37
(3) а если знает, то знает где и тормоза искать )
5 SSkripagan
 
06.08.12
09:37
(1) Это и хотел показать
6 Maxus43
 
06.08.12
09:44
СУБД какая?
7 hhhh
 
06.08.12
09:46
(5) возможно, второй запрос уже из кеша берет готовые данные, после того как первый честно отпахал.
8 John83
 
06.08.12
09:47
(7) вообще-то второй запрос берет данные из ВТ, а не из самой базы
9 SSkripagan
 
06.08.12
09:47
(6) SQL 2005
10 Нуф-Нуф
 
06.08.12
09:48
(8) с чего это?
11 SSkripagan
 
06.08.12
09:48
Добавлю.  Активно используется РЛС.

Под полными правами все нормально,  а вот с ролям с РЛС такая фигня.   Как то связи не особо вижу, но факт на лицо
12 Maxus43
 
06.08.12
09:49
на оракле просто недавно нашли ошибку с ВТ, жутко тормозящей работу...
13 SSkripagan
 
06.08.12
09:51
(12)  у нас тоже самое.  ЗАпросы такого рода. Ни с того ни с сего стали жутко тормозить.  Работа почти встала.
14 Нуф-Нуф
 
06.08.12
09:52
может статистики обновить? подобные работы проводятся на БД?
15 SSkripagan
 
06.08.12
09:54
(14)  Это первое что проверили.  Админы грамотные.
16 Maxus43
 
06.08.12
09:55
сколько доков?
17 SSkripagan
 
06.08.12
09:56
(16)  В базе ?  Ежедневно ?  По видам ?
18 Maxus43
 
06.08.12
09:57
(17) в этом запросе (0), сколько выбирает?
19 Maxus43
 
06.08.12
09:57
тьфу) один
20 rphosts
 
06.08.12
10:00
(11)РЛС - это ещё плюс подзапрос, потому и долго... не будет-ли правильным решением проверить права на результат запроса до его выполнения а сам запрос выполнить в привелигированном модуле? Или всё-же нужно ограничение на отбираемые строки (т.е. часть строк видим, а часть - нет)?
21 Нуф-Нуф
 
06.08.12
10:18
(20) тут судя по всему трабла не во времени выполнения запроса, а при помещении во временную. ведь запросы то одинаковые
22 SSkripagan
 
06.08.12
10:20
(20)  Не.  Тут проблема именно в помещении результата во временную таблицу.   Оба запроса выполняются от одного пользователя (с ролям с РЛС).

Просто под полными правами таких проблем не наблюдается. (с помещением во врем Т).
23 Infsams654
 
06.08.12
10:25
(0) платформа какая ?
24 SSkripagan
 
06.08.12
10:26
(23) 8.2.13.219
25 Нуф-Нуф
 
06.08.12
10:28
народ вроде уже на 15й работает. и ничего... хотя думаю врядли проблема в платформе.
26 SSkripagan
 
06.08.12
10:29
(25)  не не. Пробовали.  Потом сутки откатывали назад. Работать невозможно с нашими объемами.
27 rphosts
 
06.08.12
10:31
(22) повторюсь: если то чел, который выполняет операцию (выполнение которой вкючает этот самый запрос) - гарантированно имеет права на отбор всех записей из Документ.НачислениеЗарплатыРаботникам - перенесите выполенение запроса в привилигированный модуль и если есть в запросе слова Разрешенные - уберите его.
28 SSkripagan
 
06.08.12
10:33
(27)  Выберем данные в привелигированном модуле.  Дальше  ?  Как решим проблему помещения во временную таблицу ?
29 rphosts
 
06.08.12
10:34
(28) при выполнении запроса из привилигированного модуля РЛС не будет отрабатывать.
30 rphosts
 
06.08.12
10:35
+(29) т.е. отберутся вообще все записи и запрос реально становится легче.
31 rphosts
 
06.08.12
10:36
т.к.
>Под полными правами все нормально,  а вот с ролям с РЛС такая фигня.
то запрос будет выполнен как буд-то от пользователя с полными правами... на то он и привилигированный
32 SSkripagan
 
06.08.12
10:39
(31)   Спасибо.  В курсе что такое прив.  модуль.

только Я не могу понять, как это нам то  поможет ?

Проблема не в выборке результатов, а в помещении их во  временную таблицу.

Запрос отработал,  хоть с РЛС хоть без.  Получил нужные записи .  С этим вопросов нет.
Вопрос в том года ПОМЕЩАЕМ  выбранные данные  во врем т.  Начинаются тормоза.
33 Infsams654
 
06.08.12
10:42
(32) что-то тут не то (21) пишет. В скуле прямо попробуй в # и просто select. Как ?
34 H A D G E H O G s
 
06.08.12
10:44
(32) ППЦ. Ну под полными правами работа с ВТ не тормозит же?
35 H A D G E H O G s
 
06.08.12
10:45
Как давно сервер SQL перезагружали?
Какой размер tempDB?
36 SSkripagan
 
06.08.12
10:55
(34)  Нет.
(35)  Вот тут админы сознаются что давненько не перегружается.
37 Неженцев Эдуард
 
06.08.12
11:06
(0) А с ВЫБРАТЬ РАЗРЕШЕННЫЕ ещё дольше работает?
38 H A D G E H O G s
 
06.08.12
11:09
(36) И tempDB размером..... под гиг уже скорее всего.
39 H A D G E H O G s
 
06.08.12
11:09
(36) Ну так вынеси в привелегированный модуль
40 H A D G E H O G s
 
06.08.12
11:10
(38)
И работает с временными оно теперь не в памяти а через диск.
41 SSkripagan
 
06.08.12
11:11
(37)  Нет.  Примерно одинаково.

(38)  согласен.   Посмотрим спасибо.

(40)  Вот.   Это еще и хотел обсудить.
42 rphosts
 
06.08.12
11:12
(39) ну ведь под полными не тормозит! Хотя возможно памяти на тот-же запрос + подзапрос от РЛС уже не хватает
43 rphosts
 
06.08.12
11:12
+(42) а на сам азпрос пока ещё хватает
44 Ursus maritimus
 
06.08.12
11:16
А так?
ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
или специально одинаковые записи дублируетете?
45 H A D G E H O G s
 
06.08.12
11:24
(41) Насчет tempDB в RAM диске
v8: tmp 4 USR1CV82 in RAMDISK errror + JUMBO FRAMES errors

Тут хлопец это использует
46 Нуф-Нуф
 
06.08.12
11:37
кстати про размер темпДБ было сказано в самом начале :)
47 SSkripagan
 
06.08.12
15:13
Tempdb  500 мб
48 H A D G E H O G s
 
06.08.12
15:14
(47) Ну тоже нехило.
49 H A D G E H O G s
 
06.08.12
15:14
Перезагрузи службу сервера SQL
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.