Ingernirated
@Ingernirated
Романыч

Как задается поиск по колонке в БД?

Как происходит поиск подходящих слов из колонки в БД?
Суть, поле ввода и при каждой новой букве происходит проверка схожести с такими же в начале других слов в БД.
При каждом событии(добавление, удаление буквы) нужно делать новый запрос к БД?
И если да, то не офигеет ли сервер при каждом вводе посылать запросы?
  • Вопрос задан
  • 156 просмотров
Решения вопроса 2
devspec
@devspec
Помогло? Отметь решением
Да, нужно делать запрос каждый раз.
Нет, не офигеет, если БД и запрос правильно спроектированы.
Ответ написан
Комментировать
ewgenio
@ewgenio
Всё по чуть чуть
Сначала фронтенд:
1. Запрос обычно делается не сразу после нажатия кнопки а спустя некий таймаут, давая возможность пользователю ввести часть слова целиком, а после того как ввод уже остановился(например спустя 2сек после последнего события keyup) делается запрос к базе с той строкой которая получилась в итоге. (Иначе просто получится что пользователь введет быстро например слово "телевизор" и если без таймаута на сервер уйдёт 8 ненужных запросов вместо одного)

2. После обработки результат и запрос обычно кешируется (на случай если пользователь сотрёт все и заново напишет "телевизор" - запроса к базе не будет и он получит результат из кеша, если же сотрет и напишет "тел" - будет опять запрос к базе да) Пример кеширования на jqueryui: https://jqueryui.com/autocomplete/#remote-with-cache

Но это все ограничивается в фронтенде и по сути только для удобства пользователя.

А на серверной стороне да - запрос выполняется при каждом обращении к скрипту, но и там может быть настроено кеширование и обходится без запроса к базе.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы