Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Каков правильный подход к написанию поисковика на SQL SERVER 2016 / 6 сообщений из 6, страница 1 из 1
03.07.2019, 16:08
    #39833409
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каков правильный подход к написанию поисковика на SQL SERVER 2016
Господа,
есть довольно распространенная задача -- сделать поисковик относительно таблиц в БД.

Есть некая корневая таблица и на ней навешано всякое (20-30) прямых или опосредованных соединений. Схема снежинка и т.п..

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
A.X,
B.Y, 
C.Z,
D.U
FROM А
INNER JOIN B ON A.B_Id = B.ID
INNER JOIN C ON A.C_Id = C.ID
INNER JOIN D ON C.D_Id = D.ID
WHERE A.X = 6 AND B.Y LIKE '%GGG%' AND D.U IN (5,7,9) AND A.DELETED <> 1
ORDER BY C.W
OFFSET 100 ROWS FETCH NEXT 50 ROWS ONLY



Необходимо фильтровать на разным полям, которые юзер динамически задает в интерфейсе, плюс фильтровать по известным заранее настройкам, сортировать по какому-то полю, и наконец взять страницу данных начиная с х столько-то строк. И должно это работать на многих пользователей.

Как сейчас в году 2019 подходить к такой задаче?
...
Рейтинг: 0 / 0
03.07.2019, 16:17
    #39833416
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каков правильный подход к написанию поисковика на SQL SERVER 2016
a_voronin,

не думаю, что появилось что-то новое. Генератор запроса (слой приложений) плюс справочники сигнатур для текстовых полей. Или же если нет задачи использования нескольких языков, то для более быстрого LIKE применить двоичные параметры сортировки.
...
Рейтинг: 0 / 0
03.07.2019, 16:19
    #39833418
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каков правильный подход к написанию поисковика на SQL SERVER 2016
Владислав Колосовдля более быстрого LIKE применить двоичные параметры сортировки.
Это даже не смешно.

ЗЫ. ТС не соизволил огласить объемы.
...
Рейтинг: 0 / 0
03.07.2019, 16:27
    #39833427
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каков правильный подход к написанию поисковика на SQL SERVER 2016
aleks222Владислав Колосовдля более быстрого LIKE применить двоичные параметры сортировки.
Это даже не смешно.

ЗЫ. ТС не соизволил огласить объемы.


Понятно, что FulltextSearch лучше, но он должен сочетаться с другими видами фильтров.

Объемы -- десятки лямов в корневой таблицы. От 5 до десятков тыс в сателлитах.
...
Рейтинг: 0 / 0
03.07.2019, 16:50
    #39833445
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каков правильный подход к написанию поисковика на SQL SERVER 2016
Владислав Колосовa_voronin,

не думаю, что появилось что-то новое. Генератор запроса (слой приложений) плюс справочники сигнатур для текстовых полей. Или же если нет задачи использования нескольких языков, то для более быстрого LIKE применить двоичные параметры сортировки.

Появился, например, колумнстор
...
Рейтинг: 0 / 0
04.07.2019, 12:39
    #39833779
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каков правильный подход к написанию поисковика на SQL SERVER 2016
a_voroninaleks222пропущено...

Это даже не смешно.

ЗЫ. ТС не соизволил огласить объемы.


Понятно, что FulltextSearch лучше, но он должен сочетаться с другими видами фильтров.

Объемы -- десятки лямов в корневой таблицы. От 5 до десятков тыс в сателлитах.

Главное - сделать главный, обязательный фильтр с селективностью тыщ 10-20 строк.

ЗЫ. Смешон не like.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Каков правильный подход к написанию поисковика на SQL SERVER 2016 / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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