Я создаю веб-чат-систему (mysql, php, jquery), указанную в диалогах, где каждый разговор показывает только последнее отправленное сообщение. (например, fb).заменить подзапрос mySQL на Join
В таблице есть следующие поля, где conversation_code
- это уникальный токен, используемый всеми сообщениями в чате.
id_message, id_sender, id_receiver, conversation_code, message_date,
Сейчас я работаю с этим SQL запроса:
SELECT * FROM table_messages
WHERE message_date IN (SELECT max(message_date)
FROM table_messages WHERE id_sender='$id_session' OR id_receiver='$id_session'
GROUP BY conversation_code)
ORDER BY message_date DESC
Этот запрос, возвращает результаты, как ожидается, но задержки слишком много, чтобы загрузить (AJAX). Мне сказали, что эта задержка связана с использованием подзапросов. Есть ли другой способ заменить подзапрос для JOIN
или что-то еще, чтобы избежать задержки?
Лол, мой друг ты гений, спасибо Вам, это сработало! скорость вернулась на страницу. – Max
@Max хорошо, если мой ответ правильный, отметьте ma ответ как принято посмотреть, как с помощью этой ссылки http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge
Да, спасибо , Готово. Я просто не мог принять ваш ответ ниже первых 15 минут после публикации вопроса. Еще раз спасибо. – Max