вот такая табличка CREATE TABLE events (event_ms_ts UInt64, user_id UInt32, master_id UInt32, object_id UInt32, started_at_d Date) ENGINE = MergeTree(started_at_d, user_id, 8192) - миллиард записей, SELECT DISTINCT master_id FROM events WHERE user_id = 111111 AND started_at_d = toDate('2019-03-29') ORDER BY started_at_d DESC, event_ms_ts DESC LIMIT 25 - отрабатывает мгновенно (миллисекунды), SELECT DISTINCT master_id FROM events WHERE user_id = 111111 ORDER BY started_at_d DESC, event_ms_ts DESC LIMIT 25 - занимает несколько секунд. Я вроде отсортировал по индексному полю, это не учитывается при выборке? Результат в обоих случаях один и тот же
нет такой оптимизации, сортировка не использует индекс. Индекс используется только для where.
Обсуждают сегодня