MYSQL метод поиска полей
Пожалуйста, помогите, я очень запутался в моей ситуации.
Я начинаю создавать функцию поиска, но я не уверен, что лучший способ сделать это. На интерфейсном пользователи смогут вводить слова в текстовое поле, затем они будут искать в базе данных MYSQL, как показано ниже:
поэтому они ищут «Adult», и в списке указывается каждый item_id (первичный ключ) с «Adult» в столбце «name». Или они вводят «черный», и каждый элемент_id с «черным» в «цветах» указан в списке. или они вводят «Adult Blue» икаждый элемент с «Взрослым»или же Синий придет. Я уверен, что вы поняли идею.
Я читал о нескольких методах, но я не могу понять, какой из них лучше:
С помощьюМНОГИЕ ОДИН Таблица: Кажется, что это будет работать, но есть более 500 уникальных элементов, так что это будет тысячи и тысячи строк. Для item_id 1 мне нужно было бы сделать строку для «Adult», строку для «Denim», строку для «Pants», строку для «black», строку для «red», строку для «blue». Я мог бы просто жестко закодировать все.
С помощьюFIND_IN_SET
: Это сработает? Должен ли я хранить значения с запятыми, какAdult,Denim,Pants
а такжеEXPLODE
разделить значения? Я собирался попробовать этот метод, но я продолжаю читать, что хранение нескольких значений в поле - очень плохая практика.
ИлиОбычные выражения что я ищу?
Каков наилучший способ хранения значений и как их получить? Я не спрашиваю точный код, просто методы для использования. Любой совет приветствуется!