Mysql сортирует агрегированные строки по дате

#mysql #datetime #sorting #scalability

#mysql #datetime #сортировка #масштабируемость

Вопрос:

Я думаю, что это простой вопрос: я просто новичок в php и не могу разобраться в этом эффективным способом. Что я хочу сделать, так это для каждого друга запросить все сообщения и вернуть единый список, отсортированный по дате. Но это две разные таблицы, и я действительно не понимаю, как таблицы можно объединить одним оператором и является ли это даже лучшим масштабируемым решением. Помощь очень ценится! 🙂

Комментарии:

1. Вам действительно нужно было бы сообщить нам структуру таблиц и какие вы хотите результаты, чтобы мы могли написать запрос.

Ответ №1:

Что-то вроде:

 SELECT ...
FROM friends
INNER JOIN posts ON posts.author_id = friends.id
ORDER BY posts.created_at
  

Комментарии:

1. Мне еще предстоит это реализовать, но это кажется правильным. Спасибо. Теперь я ненавижу задавать другой вопрос, но будет ли ваше решение быстрее / масштабируемее, чем что-то похожее на это: «выберите … из записей, где user_id в ($ user_array) упорядочен по времени desc «; Вероятно, мне пришлось бы выполнить предварительный вызов для извлечения массива, но я не знаю эффективности объединения.

2. JOIN эффективно, пока у вас есть индексы.