Оптимизация запросов

Vadimka

Новичок
Оптимизация запросов

Подскажите как оптимизировать запросы

Выбираю сообщения для пользователя 27

SELECT i, idkto, idkomu
FROM coment
WHERE idkomu = '27'

while{
SELECT COUNT(*) FROM coment WHERE idkto='$idkto'
выбираю сколько автор сообщения написал всего сообщений
}

понимаю что неправильно в массиве делать запросы, но не знаю как это оптимизировать?(
 

Bitterman

Новичок
[sql]
SELECT c.i, c.idkto, c.idkomu, COUNT(c1.idkto) as comments
FROM `comment` as c
LEFT JOIN `comment` as c1 ON c1.idkto=c.idkto
WHERE c.idkomu = '27'
GROUP BY c.id
[/sql]
Не проверял, но принцип, думаю, понятен. Хотя я бы добавил в таблицу пользователей поле, в котором держал бы количество комментариев данного юзера, чтобы не пересчитывать каждый раз. Так, ИМХО, было бы правильней.
Еще бы я переименовал все поля по человечески, но это уже мои личные пристрастия.
 

Гравицапа

elbirret elcno
Vadimka
Давай ещё раз, только нормальным языком и с нормальным, а не тем, что ты привел куском кода 10-15 строк.

-~{}~ 31.07.07 16:28:

Хотя я бы добавил в таблицу пользователей поле, в котором держал бы количество комментариев данного юзера, чтобы не пересчитывать каждый раз. Так, ИМХО, было бы правильней.
Можно узнать, чем правильнее?
 

Bitterman

Новичок
Гравицапа
Собсно, ответ в цитате - чтобы не пересчитывать каждый раз. Там же еще стоит ИМХО.
 
Сверху