Поле поиска - выбор данных из нескольких таблиц - PullRequest
0 голосов
/ 17 сентября 2010

В моем приложении я хочу создать поле «универсального поиска», которое позволит пользователям выполнять общий поиск по любым «информационным» данным в базе данных. Система оказывается системой управления учетными записями, поэтому в идеале они могли бы выполнять поиск адресов электронной почты, имен пользователей, идентификаторов и т. Д.

Я искал в Интернете решение, но пока не пришел к выводу, поэтому решил, что задам вопрос по SO.

Каков наилучший способ выполнить поисковый запрос к базе данных и вернуть потенциальные результаты из нескольких таблиц?

Моей первоначальной мыслью было выполнение запроса SELECT для каждой отдельной таблицы с использованием подстановочного знака для каждого столбца с возможностью поиска. Будет ли это правильный подход?

1 Ответ

0 голосов
/ 21 сентября 2010

Я бы использовал специальную поисковую систему для такого рода «универсального поиска». Например, Sphinx , бесплатная система полнотекстового поиска SQL с открытым исходным кодом.

Запрос SELECT к каждой таблице приведет к очень низкой производительности, если база данных достаточно велика.

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