Ещё можно хранить отдельно в таблице поле с количеством лайков, который по триггеру при добавлении в таблицу likes увеличивается для соответствующего поста, при удалении отнимается (если разрешено отменять лайки). Это снизит нагрузку на сервер (не придётся джойнить таблицу), но создаст дупликацию данных (больше места на диске и в некоторых случаях можно будет случайно нарушить целостность данных)
SagePtr, я обычно стараюсь избегать таких like_count-ов. На скорость загрузки страницы оно особо не повлияет, а вот в дальнейшем вероятность нарушения целостности данных очень возрастает.
Ну может это только у меня такие детские страхи, хз))))
Exploding, да, в большинстве случаев хватит и LEFT JOIN'а, при условии наличия грамотных индексов на таблице. Оптимизировать и в отдельное поле выносить - это уже при большой нагрузке, если запрос не будет справляться.