powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как искать в строковм поле по индексу?
15 сообщений из 15, страница 1 из 1
Как искать в строковм поле по индексу?
    #32646303
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Like не использует индекс. мне надо искать строки которые начинаются на подстроку.
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646310
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не ставить % в начале строки поиска ("искать строки которые начинаются на подстроку"), индекс используется
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646326
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
действительно, проверил запросом - да, подключил индекс. А почему тогда такой же запрос (правда есть еще 2 джойна - там кстати подключает) в ХП не хочет подхватывать этот индекс? Меня это и сбило насчет like...
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646336
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
текст запроса с джоином и план покажите народу..
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646350
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
select t1."fio", t2."profession_txt", t1."id", t3."id", t1."rating",
     t3."management_parent", t1.PICTURE
     from "employee_working" t1
      left join "profession" t2 on t1."id_proffesion" = t2."id"
      left join "management_structure" t3 on t1."id" = t3."id_employee"
     where t1.UPPER_MIDDLE_NAME like :qMName||'%'
===========================================================
Plan:
----------------------------------------------------------------------------
JOIN (JOIN (T1 NATURAL,T2 INDEX (IDX_id_prof)),T3 INDEX (IDX_management_structure1))
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646356
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT *
FROM "employee_working" E
WHERE E.UPPER_MIDDLE_NAME LIKE 'BLA%'
=======================================
Plan
--------------------------------------------------
PLAN (E INDEX (IDX_EMPL_MIDDLE_NAME))
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646359
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и заодно индексы какие в таблицах?
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646368
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
feddну и заодно индексы какие в таблицах?
а план Вам ничего не сказал о индексах?
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646379
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аноним feddну и заодно индексы какие в таблицах?
а план Вам ничего не сказал о индексах?план второго запроса сказал кое-что. я просто задал вопрос раньше чем увидел второй запрос с планом.

это сообщение я писал целую минуту.
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646385
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я пас. ждем более соображающих.
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646389
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если поможет сервер - Firebird 1.5.1
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646458
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LIKE с параметром не может использовать индекс, т.к. во время компиляции запроса неизвестно значение параметра.
Если необходим поиск именно с начала строки, пользуй STARTING
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646469
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LIKE с параметром не может использовать индекс, т.к. во время компиляции запроса неизвестно значение параметра.
Если необходим поиск именно с начала строки, пользуй STARTING
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646554
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какой синтаксис этого STARTING?
...
Рейтинг: 0 / 0
Как искать в строковм поле по индексу?
    #32646754
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В твоём случае
Код: plaintext
where t1.UPPER_MIDDLE_NAME STARTING WITH :qMName
А вообще-то RTFM
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как искать в строковм поле по индексу?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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