Хочу сделать поиск у себя на сайт интерактивнее и постигнуть дзен, тем самым используя максимально эффективные запросы в своей связке PHP + MySQL.
На сайте присутствуют пользователи, которые ищут друг друга по множеству параметров: пол, возраст, город, т.д. Всего около 10 параметров, каждый из которых хранится в таблице SQL в отдельном столбце.
Сейчас возникла необходимость добавить каждому пользователю доступное время встречи (6 градаций: 6-9 утра, 9-12 дня, 12-15, 15-18, 18-21, 21-00 ночи)
Рассматриваю два варианта:
1. Каждая градация вносится в отдельный столбец и запрос SELECT происходит отдельно по столбцам.
Например, чувак ставит галочку напротив 6-9 утра и на js+ajax происходит запрос:
SELECT * FROM users WHERE day_time=6
2. Вариант второй - вносить градацию доступного времени в ряд пользователя только в виде одного столбика. Например, вот так:
day_time = '0.0.1.1.1.0'
то есть, чувак может встретиться только в 9-12,12-15,15-18 (там, где 1, а не нолик).
Таким образом при клике на галочку 9-12 утра должен происходить аякс запрос в базу вроде этого:
SELECT * FROM users WHERE day_time LIKE '_.1._._._._'
И тот, и тот вариант у меня работает. В обеих случаях нужно внимательно прописывать запросы, но возник вопрос - что более пригрузит сервер с учетом, что количество пользователей совсем скоро преодолеет рубеж нескольких тысяч, что запросы происходят в режиме живого времени при клике на каждую из галочек и что в SQL в самом ряду пользователя количество столбцов уже около 15-18 (это вообще много или нормально?).
Вопрос понятен? Хочется сделать попроще с точки зрения нагрузки на сервер, чтобы не положить его имея на руках всего тысячу людей.
Если есть мнение, что я делаю простые вещи через *опу, то готов его смиренно выслушать :)
Помогите, пожалуйста! Никак не могу решить, что лучше!
Заранее спасибо!