Задать вопрос
Ответы пользователя по тегу SQL
  • Склейка двух таблиц по сложному условию

    ivnik
    @ivnik
    Второй запрос работает быстро т.к. ограничение целостности UNIQUE по полю event_timestamp создало индекс. А оптимизатор похоже догадался что LIMIT+ORDER_BY не требует сортировки.
    В таком случае самое простое, что можно сделать, это хранить в таблице experiment ссылку на предыдущий эксперимент (в виде id или сразу в виде timestamp), и вытаскивать эту запись одним более быстрым запросом.
    Ответ написан
    5 комментариев
  • Объединение таблиц, LIMIT 1

    ivnik
    @ivnik
    Например так:

    select t1.*, c.user as `last_user`, c.datetime as `last_date` from topics as t1 inner join (select id_topic, max(id) max_id from comments c1 group by id_topic) t2 on (t2.id_topic = t1.id) inner join comments c on (c.id = t2.max_id);
    

    Использовать ORDER BY для поиска максимального элемента не очень хорошая идея (хотя вроде оптимизатор mysql при использовании ORDER BY и LIMIT понимает, что сортировать не нужно)
    Ответ написан
    1 комментарий