Привет всем гуру, подскажите насколько корректен такой запрос в базу?: $s = mysql_query("SELECT `id`, `name`, (SELECT `path` FROM `foto` WHERE `foto`.`id` = `username`.`id` ORDER BY `DATASORT` DESC LIMIT 1), (SELECT COUNT(*) FROM `foto` WHERE `foto`.`id` = `username`.`id` GROUP BY `ID` DESC LIMIT 1) FROM `username` WHERE `id` IN (1, 2, 3, 4, 5, 6, 195069, 200000, 9, 7);"); суть запроса вытащить для каждого ID юзера путь к его последнему фото и посчитать количество его фоток. Запрос работает и выдаёт то, что надо. Но я не знаю как он поведет себя если будет больше 1 млн. юзеров. Может его можно как то оптимизировать или уже всё ок? Спасибо за внимание.
Многое зависти от индексов Например в таблице `foto` `id` должно быть индексом как и DATASORT тоже желательно и т.д. тогда скорость выборки приблизится к максимальной но для 10^6 юзеров все таки наверное стоит создать таблицу где данная информация будет хранится в актуальном виде тоесть берем и создаем таблиц lastAndCountFoto uid int f_id int count_foto int где uid превичный ключ