У вас соединение в неправильном порядке.
В LEFT JOIN
вы гарантируете, что сохраняете все записи в таблице, написанной первыми (слева) .
Итак, присоединяйтесь в другом порядке (users
сначала / слева) , а затем группируйте по идентификатору таблицы пользователя, а не по user_id таблицы микросообщений ...
SELECT users.*, count( microposts.user_id )
FROM users LEFT JOIN microposts ON users.id=microposts.user_id
GROUP BY users.id
Использование Linode в течение нескольких месяцев, потребовалось меньше чем час для установки виртуальных "полей", и мы не коснулись его с тех пор, таким образом, с моей точки зрения (как разработчик), который будит два ползунка.
Используя Ubuntu и не встретились ни с какими проблемами начиная с начальной настройки.
Не использовали Slicehost, но откровенно после простоты установки Linode, не должен был бы переключать/пробовать ничто больше.
Я использовал Slicehost в течение нескольких месяцев в предыдущем задании и никогда не имел проблем. Можно в основном сделать то, что Вы хотите со своей частью, которая очень изящна. Для быстрых исправлений можно справиться удаленно где угодно с их веб-терминалом и их консолью администратора. Не знайте достаточно о Linode, чтобы сказать, лучше ли каждый, чем другой, но он уже кажется на разделение пшеницы от дипольной помехи с коротким списком.
Это зависит от того, что является самым важным для Вас - безопасность, обновления, поддержка, сообщество.
Другой дистрибутив имеет другую ориентацию - например, мы используем Centos, который чрезвычайно стабилен и безопасен - но это прибывает в цену, так как это, обычно отстает от новейших технологий и обновлений (так как они занимают время для назревания :)).
Проверьте эту страницу для обзора за и против каждого распределения.