Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как составить оптимальный по быстродействию запрос для страницы поиска / 2 сообщений из 2, страница 1 из 1
16.09.2002, 13:06:19
    #32050693
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как составить оптимальный по быстродействию запрос для страницы поиска
задача выбора ограниченного числа записей, но не с первой , а с определенного номера, так как это делается на поисковых серверах

поиск осуществляется по полнотекстовому индексу

сейчас веб - форма делает выборку запуская процедуру содержащую:

Код: plaintext
1.
2.
3.
 SELECT     Код, Number, Text 
  FROM  dbo.Data 
  WHERE 
  FREETEXT ( text ,@parameter1 )


как оказалось в случае большого объема данных происходят тормоза при форматировании данных скриптом да и страница выводящая 1000 и более записей не нужна никому,
на поисковых системах делают выборки по 10 - 20 записей
Хочется сделать нечто подобное
чтобы не изобретать велосипед - подскажите как составить запрос чтобы он отнимал поменьше ресурсов у сервера.

пока пришло в голову только следующее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT    top  10  Код, Number, Text 
FROM  dbo.Data 
WHERE 
FREETEXT ( text ,@parameter1 )
and Код not in 
  (SELECT  top @start_from   Код 
  FROM    dbo.Data 
 WHERE FREETEXT ( text ,@parameter1 ))


но в данном запросе меня несколько огорчает что выборка по полнотекстовому индексу выполняется дважды.

может у кого есть наработки как это сделать лучше ?
...
Рейтинг: 0 / 0
16.09.2002, 13:17:31
    #32050698
VVG_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как составить оптимальный по быстродействию запрос для страницы поиска
Я в таких случаях сливаю результаты во временную таблицу и всю страничную разблюдовку делаю с ней. Плюс - громоздкий запрос работает один раз, минус - изменения в базе, произошедшие после первого запроса не выводятся.

Если используется ASP, то можно воспользоваться встроенным в ADODB.RecordSet механизмом разбивки на страницы.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как составить оптимальный по быстродействию запрос для страницы поиска / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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