Запрос: Сколько фоток у каждого пользователя!

Catholic

Guest
Запрос: Сколько фоток у каждого пользователя!

Привет

есть две таблицы
users - пользователи сайта
photos - фотографии пользователей

Скажу сразу: чтобы в будущем, когда я вывожу информацию пользователей, не делать лишний запрос и не тратить времени 'каждый раз когда пользователь добавляет или удаляет свои фотографии в таблицу users в столбик total_photos записывается +1 или -1 соответственно'
и того у нас всегда есть цифра сколько фоток у пользователя

но бывает всякое
работа скрипта может оборваться или ещё что и возможно +1 или -1 поставиться не успеет

поэтому хотелось бы реализовать проверку количества фоток у пользователей, которая будет запускаться скажем один раз в сутки через cron

как лучше всего реализовать запросы mysql чтобы для каждого пользователя собралась инфа и записалась в таблицу users

у меня пока только один более менее хороший вариант

PHP:
$find = mysql_query("SELECT COUNT(photo_id) AS total_photos, user_id FROM photos GROUP BY user_id");

while ($row = mysql_fetch_array($find)) {
        mysql_query("UPDATE users SET total_photos = '".$row["total_photos"]."' WHERE user_id = '".$row["user_id"]."'");
}
но если скажем 100000 пользователей то получается 100001 mysql запрос

Вопрос такой: как сделать выборку, чтобы нашлись данные только где COUNT(photos.photo_id) != users.total_photos AND photos.user_id = users.user_id

я пытался составить такой запрос, но что-то всё ошибки!

Если у кого есть другие предложения, то тоже приветствуется!
 

Romantik

TeaM PHPClub
гм, если я праильно понял
то у тебя в отдельной таблице фоток есть id_user
Что мешает узнать количество фоток каждого user без +1 и -1 ?
 

Catholic

Guest
то есть это бесмысленная трата процессорного времени

всё таки готовая цифра total_photos в таблице users будет куда быстрее, чем COUNT(photos.photo_id)

несмотря на то что все индексы прописаны, всё равно второй способ будет на порядок медленей

учитывая что всего фотографий на сайте может быть за миллион

когда я только делал структуру сайта то думал какой способ выбрать и всё таки решил что первый лучше
пускай больше проблем при записи или удалении фотографий, но всё же потом при выборке будет быстрее
 
Сверху