У меня есть база данных с двумя таблицами: в одной хранится информация о каждом пользователе, а в другой - информация об играх, в которые в данный момент играет каждый пользователь. Каждая строка пользователя и каждая строка игры имеют уникальный первичный идентификатор, так что всякий раз, когда я хочу извлечь конкретную строку, я могу получить ее, выполняя запрос с уникальным идентификатором (что, на мой взгляд, быстрее, поскольку строка может быть выбрана с помощью индексации вместо просматривая каждую строку в таблице)
Теперь каждая запись в игровой таблице содержит информацию о пользователе, поэтому, если бы я хотел получить каждую игру для конкретного пользователя, я бы смог. Тем не менее, вот как я в настоящее время выбираю каждую игру для пользователя:
Я сохраняю каждый уникальный идентификатор для каждой игры для каждого пользователя, разделенный знаком «:». Затем я разделяю этот список и делаю отдельный запрос на КАЖДЫЙ идентификатор игры. Поэтому мой вопрос заключается в том, является ли более эффективным выполнение отдельного запроса с использованием первичного идентификатора для каждой отдельной игры или лучше просто выполнить «ВЫБОР * ИЗ игр, ГДЕ userID = 'theUsersID'».
Чтобы выразить это в более общей форме, лучше ли в долгосрочной перспективе делать несколько запросов к нескольким уникальным идентификаторам или делать один запрос, но при этом нужно просматривать каждую запись в базе данных? Просто чтобы дать представление о загрузке моей базы данных, у меня обычно 10 000 пользователей, в каждом из которых по 10 игр одновременно. Таким образом, сравнение составляет 100 000 запросов, использующих первичный ключ для каждого запроса, или 10 000 запросов, но при этом необходимо пройти все строки для каждого запроса.
Спасибо.