повторный запрос в SQL

User avatar
Dweller
Уже с Приветом
Posts: 12262
Joined: 20 Dec 2000 10:01
Location: Bellevue, WA

повторный запрос в SQL

Post by Dweller »

процесс состоит из 3 частей:
а) почистить таблицу
б) загрузка данных в таблицу из файла
в) обработка данных с помощью query

в первый раз процесс валится потому что query timed out (3 минуты).
во второй раз все нормально, query выполняется за 2 секунды. При этом весь процесс запускается по новой с пункта а)

на первом запуске все записи новые, во второй раз это записи из того же файла.

Есть ли какое-то объяснение с точки зрения внутренних тайных процессов SQL server или надо искать внешние причины? :-)

спасибо.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Рыть надо от памяти.
Например если машина девелоперская то спящий некоторое время SQL почти полностью выбивается из памяти .NET и пр аппликухами
Аналогично если есть много instances, то они дерутся за память.
Посмотрите на количество Page Faults процесса
Также хотелось бы увидеть время выполнения a b c в первом и втором случае.
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

и еще
нет ли insert triggers которые делают где то selects ?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dweller
Уже с Приветом
Posts: 12262
Joined: 20 Dec 2000 10:01
Location: Bellevue, WA

Post by Dweller »

Dmitry67 wrote:Рыть надо от памяти.
Например если машина девелоперская то спящий некоторое время SQL почти полностью выбивается из памяти .NET и пр аппликухами
Аналогично если есть много instances, то они дерутся за память.
Посмотрите на количество Page Faults процесса
Также хотелось бы увидеть время выполнения a b c в первом и втором случае.


машина не девелоперская, время буду засекать только сегодня.
триггеров никаких нет.
просто хотелось узнать есть ли какое-то теоретическое обоснование тому что по второму разу query выполняется гораздо быстрее (данные те же самые но второй раз они вставляются по второму разу)
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

А как вставляются данные ? BCP, DTS, insert ?
Каждая запись в своей транзакции или нет ?
Log Mode Simple or Full ?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Еще идея
Если данные вставляются второй раз в пустую таблицу, то все статистики становятся неверны
не отключен ли auto update statistics ?
Помогает ли ручной update statistics после вставки ?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
Evgen
Уже с Приветом
Posts: 1224
Joined: 07 Sep 1999 09:01
Location: Belmont, Ca

Post by Evgen »

Я бы начал с проверки локов. Можете оттрейсать сессии, которые генериует етот процесс. Все проблеммы будут в trace файле.
Помогите жертвам валютной ипотеки.
User avatar
Dweller
Уже с Приветом
Posts: 12262
Joined: 20 Dec 2000 10:01
Location: Bellevue, WA

Post by Dweller »

все оказалось проще
нетворкеры поменяли машину на которую делался tape backup и как только он дожидался своего звезного часа и начинал процесс (200 Мб/мин. :-) ), все остальное валилось :-)

теперь надо доказывать это им :-)

Return to “Вопросы и новости IT”