powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выполненение долгих запросов к MS SQL2000 в ASP.NET
7 сообщений из 7, страница 1 из 1
Выполненение долгих запросов к MS SQL2000 в ASP.NET
    #33971925
XMike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую.
Написал один сайт и во время эксплуатации возникла проблема, что при выполнении больших запросов страница отлетает по тайм-ауту.
Пробовал выполнять запрос в QueryAnalizer-е - долго (мин 10), но идет.
Как правильно сделать, чтобы страница ждала до конца выполнения (пусть даже 10-15 мин)?
Есть мысль использовать SqlCommand.BeginExecuteReader
Что можете посоветовать?

ЗЫ. Сразу оговорю условия работы сайта. Работает он на ASP.NET 1.1 (буду переписывать на 2.0), база на MS SQL2000. Проблемы начинаются, когда у меня идет выборка из таблиц и в таблице находится порядка 3 млн записей (сервер не очень мощный :( ). В планах есть покупка нового, но хочется решить проблему и на перспективу, т.к. объемы растут и растут быстро.
...
Рейтинг: 0 / 0
Выполненение долгих запросов к MS SQL2000 в ASP.NET
    #33971950
У SqlCommand есть свойство CommandTimeout. Ставь в миллисекундах.
...
Рейтинг: 0 / 0
Выполненение долгих запросов к MS SQL2000 в ASP.NET
    #33971975
XMike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую.
А все таки про SqlCommand.BeginExecuteReader - стоит этим заморачиваться или нет?
...
Рейтинг: 0 / 0
Выполненение долгих запросов к MS SQL2000 в ASP.NET
    #33972185
AVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3 млн. записей не так много. Видимо надо посмотреть есть ли индексы на страницах, перестроить статистику, оптимизирован ли запрос на выборку, выбирать не все 3 млн. ил 100 тыс, а тысячу, кэшировать их, отображать юзеру 20 - 50 записей, использовать пейджинг.

Можно конечно и увеличить время ожидания ответа, но 10 минут это не нормально.
...
Рейтинг: 0 / 0
Выполненение долгих запросов к MS SQL2000 в ASP.NET
    #33972235
XMike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм...
Значит пока я для себя решил:
- проверить индексы (хотя я их уже смотрел - вроде все ок);
- сделать view на таблицу;
- разобраться с кешированием view-а на SQL.

Можно чуть подробнее про перестройку статистики и пейджинг?
И все таки интересует мнение про асинхронное выполнение запросов из ASP.NET (типа SqlCommand.BeginExecuterReader).
...
Рейтинг: 0 / 0
Выполненение долгих запросов к MS SQL2000 в ASP.NET
    #33973523
AVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Со временем работа с индесами становится медленнее, условно говоря из-за того, что данных становится больше и первично построенные индексы, расчитанные на малый объем данных, плохо справляются с большим объемом.
Для перестройки статистики есть команда UPDATE STATISTICS, как ей пользоваться см. в SQL book online.

Пейджинг, имелось ввиду отображение данных пользователю по странично ,например по 20-50 записей, сперва первые 50, потом вторые с 50 по 100. Для этого можно использовать грид в АСП.НЕТ. Есть несколько вариантов как реализовать такое отображение ,например использовать хранимые процедуры выбирающие данные порциями, или вытащить 1000 записей в DataSet, положить их в кэшь и брать оттуда.

Еще советую посмотреть в QueryAnalizer Execution Plan, выбрав его в меню Query, он покажет где тормозится запрос. Единственное, что с Execution Plan -ом надо уметь работать.

Можно и асинхронно выпонять запросы, но все это уход от основной проблемы.
...
Рейтинг: 0 / 0
Выполненение долгих запросов к MS SQL2000 в ASP.NET
    #33973734
XMike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм. Вот про перестройку индексов спасибо. Буду копать.

Пейджинг в моем случае не актуален. У меня отображается 50-100 строк. Просто в селекте идет группировка по большому массиву данных.

Про QueryAnalizer Execution Plan я знал. Отличная вещь. Потихоньку ее использую :)

Спасибо за наводки. Теперь буду это все реализовывать.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выполненение долгих запросов к MS SQL2000 в ASP.NET
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]