:: Архив конференции по VFP до 2005 года
Обратный индекс
IgorDokukin

Сообщений: 21
Дата регистрации: 21.02.2005
Приветствую всех.

Есть такая задачка - нужно быстро искать выражение типа %12345
В лисе это делается обратным индексом через функцию из которой получаю
54321 далее SET ORDER и SEEK.
Вопрос. Как сделать такой быстрый поиск если базы в MS SQL.
Хочется не потерять в скорости.
Ratings: 0 negative/0 positive
Re: Обратный индекс
Владимир Максимов

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Если под "12345" понимается некое слово, то в MS SQL есть такая штука, называется "полнотекстовый поиск" (fulltext search).

Если это фрагмент слова, то ничего не поделаешь, придется так и писать RTRIM(MyField) LIKE "%12345"




------------------
Ratings: 0 negative/0 positive
Re: Обратный индекс
IgorDokukin

Сообщений: 21
Дата регистрации: 21.02.2005
Имею поле Dvigatel C(25) - где забиты номера двигателей, к примеру нужно выбрать все двигетеля номера которых оканчиваются на '12345', Есть ли возможность ускорить выборку
SELECT * FROM MODEL WHERE Dvigatel LIKE '%12345' в MS SQL. Может существуют средства ускоряющие выполнение данного запроса ? Или возможно сделать обратный индекс в самом MS SQL?
Ratings: 0 negative/0 positive
Re: Обратный индекс
boba

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
ПИдите в query analiser
Запустите там запрос сначала без индекса с опицией show plan
Посмотрите результат
Потом добавьте индекс на полу , в котором идет индекс
Повторите запрос с show plan
Если там покажет использование индекса-скорость выросла




------------------
не имей 100 рублей, а имей сто друзей
Ratings: 0 negative/0 positive
Re: Обратный индекс
Hel!Riser
Автор

Сообщений: 10452
Откуда: Нижний Новгород
Дата регистрации: 11.03.2001
Цитата:
Или возможно сделать обратный индекс в самом MS SQL
индескс прямой сделать нельзя, но обойти проблему пробуй так - заведи поле ReDvigatel С(25) с индексом, кот будет заполняца в тирггере Инсерта\Апдейта как ты делаешь своекй ф-цие "наоборот" - т.е. 12345 в Dvigatel и 54321 в ReDvigatel. А дальше уже стандартный SELECT-SQL. Вот тока не помню - поможет или нет это избавица от % в LIKE




------------------
Осторожно - глисты!
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 7 (Гостей: 7)

© 2000-2024 Fox Club 
Яндекс.Метрика