|
Тормоза при создании временных таблиц в пакетном запросе | ☑ | ||
---|---|---|---|---|
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
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |