капотом?
Я обратил внимание на то, что запрос типо SELECT * FROM (SELECT * FROM table ORDER BY ts DESC) LIMIT 10
Работает на удивление эффективно, при том что я почему-то думал что сначала выполнится весь подзапрос, и из его результатов будет происходить обработка основного запроса. А если в основном запросе добавить какую-то сортировку (например по ID), то всё будет долго думать
Я слышал что в CH нет планировщика запроса
Грубо говоря по логике оно должно было бы прочитать и отсортировать всю табличку прежде чем перейти к лимиту, а этого не происходит (это радует, но интересно как так выходит)
Выключив опцию optimize_read_in_order действительно была прочитана вся табличка, достаточно быстро (наверное из-за того что я сортирую по колонки из ключа сортировки) Те кто сделал эту фичу - почёт и уважение, спасибо что объяснили!
Обсуждают сегодня