Как добавить индексирование для поиска по нескольким столбцам в таблице MySQL - PullRequest
0 голосов
/ 03 апреля 2019

Я добавляю кнопку поиска с предложениями, отображаемыми, когда мы набираем текст, как в Google, и мне нужно искать несколько столбцов в одной таблице. Как добавить индексирование для этих столбцов?

У меня в приложении две таблицы с именами Employer и Employee. Я хочу добавить окно поиска, чтобы работодатель мог искать сотрудников только своей организации на основе их имени, адреса электронной почты или номера телефона. Когда работодатели вводят в поле поиска, мне нужно показать предложения ниже. Например когда работодатель печатает Jo в текстовом поле, я буду отображать предложения как

  1. Джон, jon@gmail.com, 12345

  2. Бобби, jon-bobby@gmail.com, 9876

  3. .....

В таблице 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%'

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

Буду очень признателен за ваши ценные предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...