Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Разбиение запроса.  [new]
El toro bravo
Member

Откуда:
Сообщений: 3
Здравствуйте, уважаемые!

Может у есть у кого мысли или решения по реализации нижеследующего?

Имеем клиента на Delphi и базу на сервере SQL 2000. От клиента идет запрос к нескольким таблицам и получаем очень большую выборку. Возможно ли как-нибудь выдавать клиенту эту самую выборку частями по 30 записей, например, с интервалом между каждой по 30сек, опять же к примеру?

Смысл в том, что клиент имеет фильтр, на основании которого создается запрос. Максимально свободные установки фильтра выкачивают из базы все доступное, ессесно. Пользователи же далеко не всегда утруждают себя точными ограничениями, предпочитая копаться в уже полученной выборке. Этим безобразием они серъезно загружают сервер и мешают остальным добропорядочным пользователям.
16 янв 04, 15:47    [494951]     Ответить | Цитировать Сообщить модератору
 Re: Разбиение запроса.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Этим безобразием они серъезно загружают сервер и мешают остальным добропорядочным пользователям.


Поймите, что даже если вы сделаете постраничную выборку, как это описано в FAQ, то все равно запрос к нескольким таблицам и получение очень большой выборки будет идти. И именно это будет грузить сервер. Так что надо ограничивать клиента, например минимальным числом первых символов (не менее 5).
16 янв 04, 15:52    [494966]     Ответить | Цитировать Сообщить модератору
 Re: Разбиение запроса.  [new]
El toro bravo
Member

Откуда:
Сообщений: 3
В силу многих причин этого делать нельзя.
16 янв 04, 15:55    [494972]     Ответить | Цитировать Сообщить модератору
 Re: Разбиение запроса.  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Выбирать всегда, скажем, TOP 100
И говорить пользователю "уточните фильтр" до тех пор, пока не придет 99 или меньше записей.
16 янв 04, 16:53    [495126]     Ответить | Цитировать Сообщить модератору
 Re: Разбиение запроса.  [new]
El toro bravo
Member

Откуда:
Сообщений: 3
Эти варианты делают постраничную выборку из уже составленного
резалт-сета. А основное время уходит именно на его составление.
16 янв 04, 17:03    [495155]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить