|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Очень долгое выполнение хранимой процедуры. Sql Server 2008 |
|
MSFT SQL Server - Очень долгое выполнение хранимой процедуры. Sql Server 2008
|
В Поисках Истины Сообщения: 802 |
Профиль | Отправить PM | Цитировать Доброе утро, уважаемые.
Появилась проблема. Есть хранимая процедура, которая используется в работе с MapInfo(MapBasic). Ее код выглядит следующим образом: Структура таблицы откуда берутся данные: В таблице записей, на данный момент, порядка 2 миллионов. Представленная выше процедура выполняется около 15 минут. И это очень очень много. При выполнении обычного запроса: выборка и вставка происходят моментально практически (максимум 2 секунды). Как побороть эту проблему? Спасибо. |
|
------- Отправлено: 09:03, 30-01-2013 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Хм. То есть тот же самый запрос, только с объявлением переменных, выполняется мгновенно, а через вызов процедуры тормозит?
А если вызвать процедуру из Management Studio примерно так: Результат будет мгновенным или долгим? Если мгновенным, то процедура тут не при чем, проблема на клиенте. Если же долгим, то это будет мистикой. В этом случае запускаем монитор активности или сразу Profiler и начинаем мониторить запросы и смотреть время выполнения. Находим запрос нашей процедуры, пихаем ее код в новый запрос и просматриваем план выполнения. Как то так. |
------- Отправлено: 15:27, 30-01-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Цитата Delirium:
Цитата Delirium:
Цитата Delirium:
Причина в этом "мистическая". В таблицу каждый день добавляются данные. Вчера туда было добавлено, с задержкой, около 150 тысяч записей. Сегодня, в поисках проблемы, полез в проектирование таблицы, пересохранил. И опа, процедура быстро выполняется. В дальнейшем, залил еще отчет (порядка 20к записей) в таблицу. И снова обработка очень долгая. После чего снова полез в проектирование таблицы, и все встало на свои места. Пока что отчетов новых не появилось, проверить не могу. Но завтра обязательно. Цитата Delirium:
P.S. К серверу, отсутствует физический доступ. |
||||
------- Отправлено: 16:59, 30-01-2013 | #3 |
Старожил Сообщения: 435
|
Профиль | Отправить PM | Цитировать 1. Сравните план запросов в обоих случаях.
2. Если после пересохранения начинает работать быстро, то возможно проблема со статистикой индексов. После массовой вставки данных их лучше перестраивать. 3. Если вы запрос всегда выполняете после процедуры, то он может быстро выполняться только потому, что данные уже в кеше. |
------- Отправлено: 17:27, 30-01-2013 | #4 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Цитата BlackEric:
|
||
------- Отправлено: 15:26, 31-01-2013 | #5 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Цитата Delirium:
Цитата BlackEric:
Цитата:
|
|||
------- Отправлено: 13:53, 05-02-2013 | #6 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 14:45, 06-02-2013 | #7 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Цитата Delirium:
Что хотя бы нужно искать? |
|
------- Отправлено: 15:37, 06-02-2013 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MSFT SQL Server - [решено] не могу установить MS sql server 2008 на windows server 2008 r2... | God-of-Chaos | Программирование и базы данных | 4 | 06-12-2013 17:58 | |
MSFT SQL Server - [решено] Вопрос по созданию изменению/процедуры в SQL Server 2008 RC2 - не сохраняется проц-ра | dark-------13 | Программирование и базы данных | 1 | 07-03-2012 12:52 | |
2008 - windows server 2008 x64 sp2 + sql server 2008 + 1с 8.1 потребляет слишком много ОЗУ | last-77 | Windows Server 2008/2008 R2 | 8 | 02-01-2012 14:02 | |
2008 R2 - Ошибка LCID:1033 при установке SQL 2008 Server (Win 2008 Server R2 x64) | Тишина | Windows Server 2008/2008 R2 | 1 | 25-10-2011 13:43 | |
MSFT SQL Server - Какие символы нельзя использовать в имени хранимой процедуры? | Cognolio | Программирование и базы данных | 3 | 09-07-2009 01:59 |
|