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