Допустим, у меня есть это, которое производит 50000 строк:
SELECT photoID FROM photoSearch WHERE photoID BETWEEN 1 AND 50000;
Я собирался выполнить этот запрос к только что возвращенным идентификаторам photoID.
SELECT COUNT(people) AS totalPeople, people
FROM people
INNER JOIN photopeople ON photoPeople.peopleID = people.PeopleID
WHERE photoid IN ('ID's from results')
GROUP BY people
ORDER BY totalPeople DESC
Но из других источников я понимаю, что предложение IN не будет работать должным образом, тем более что у меня может быть 100 000 и более идентификаторов photoID.
Хорошо ли хранить фотоидентификаторы из верхнего запроса в другой таблице (resultsTbl) или в очень длинной строке? Если да для любого из них, использовать ли объединение или дополнительный выбор для запроса этих идентификаторов (в нижнем запросе) вместо использования IN? Или ... есть ли другой способ, который поможет справиться с работой?
Любая помощь по этому вопросу будет принята с благодарностью.