Я добавляю кнопку поиска с предложениями, отображаемыми, когда мы набираем текст, как в Google, и мне нужно искать несколько столбцов в одной таблице. Как добавить индексирование для этих столбцов?
У меня в приложении две таблицы с именами Employer
и Employee
.
Я хочу добавить окно поиска, чтобы работодатель мог искать сотрудников только своей организации на основе их имени, адреса электронной почты или номера телефона. Когда работодатели вводят в поле поиска, мне нужно показать предложения ниже. Например когда работодатель печатает Jo в текстовом поле, я буду отображать предложения как
Джон, jon@gmail.com, 12345
Бобби, jon-bobby@gmail.com, 9876
.....
В таблице Employee есть столбцы id, name, email, phone, employer_id fk references Employer
table.
Я думаю, что запрос может быть
SELECT *
FROM Employee
where employer_id = 1
and LOWER(name) like '%jo%'
or LOWER(email) like '%jo%'
or LOWER(phone) like '%jo%'
Я хочу знать, является ли этот запрос правильным для использования. Я не уверен в его производительности. Также я не уверен, как добавить индекс к этой таблице в этом конкретном случае использования.
Буду очень признателен за ваши ценные предложения.