Существует база со структурой:
field_id, field_value, user_id
Значения например такие:
1,3,16
2,8,16
3,1,16
4,2,16
5,2,16
1,1,17
2,5,17
3,2,17
4,3,17
5,2,17
...
Нужно сделать выборку
select user_id where field_id = 1 and field_value = 3
чтобы для этого же user_id также совпадало значение другой строки
field_id=2 and field_value = 8
и так далее. Количество выбираемых полей может быть любым.
Также, хотелось бы услышать мнения по поводу производительности этой модели для выбора по 10+ параметрам из 10+ миллионов строк.
Примечание:
С индексами понятно.
Нужно создать запрос вроде такого:
SELECT user_id FROM table
LEFT JOIN table ON field_id = 1 and field_value = 3
LEFT JOIN table ON field_id=2 and field_value = 8
В join запросах я не силён, поэтому прошу помощи. Что лучше использовать ON или USING в данном случае и как правильно составить запрос?
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.