И Если да, есть ли обходные пути и где об этом можно подробнее прочитать?
вы имеете ввиду correlated sub-queries? на https://fiddle.clickhouse.com/ выложите CREATE TABLE + SELECT и скиньте ссылку
Я написал ужасно медленный запрос с JOIN и хочу заменить их на subquery, чтобы хоть как-то ускорить. https://fiddle.clickhouse.com/5bc56016-2150-424a-a576-bfdf2e892494 Это что сейчас есть, пока на subquery не переписывал. Данные mock и возможно ожидаемого результата не выдаст. Я вообще новичок в этой теме, буду рад любым советам, прошу строго не судить, хе-хе 🙂 Можно заметить, что данные нормализированные, потому что это КР с Postgres через Yandex Data Transfer.
а зачем тащить это в клик не меняя структуры? перед заливкой в клик денормализуйте данные
не хотел заморачиваться с трансфером поднимая другие сервисы, а в YDT нету такой функции вроде :( что можете предложить?
заморочиться с денормализацией, в клике джойны очень дорогие и в вашем случае наверняка дешевле подобные запросы делать в ПГ без клика, просто докиньте ресурсов
а скажите в чем сакральный смысл делать сортируемую проекцию вместо указывания этих полей в order by самой таблицы? Типа сделать Order by IdMessage, Status, Id ?
Если я правильно понял, то, Sorting Key указывается при создании таблицы. Опять таки, YDT не дает возможности настраивать это
так у вас WITH это по сути и есть sub query сейчас из того за что зацепился глаз 1) SELECT DISTINCT ... GROUP BY кажется можно без DISTINCT тут или может SELECT ... FROM ... FINAL ... GROUP BY 2) FROM WebhookHubMessages wwhm INNER JOIN processed_messages pm ON pm.IdMessage = wwhm.IdMessage WHERE wwhm.AccountId = pm.AccountId AND __data_transfer_delete_time тут кажется то что часть в WHERE можно перенести в ON
Спасибо за ответ! Как я понимаю, избавиться от этих джойнов нельзя?
Попробуйте другие join_algorithm parallel_hash и тд
ну вы сначала посмотрите какой запрос в WITH самый медленный по отдельности... пробуйте его оптимизировать... ну и вообще с EXPLAIN планами запросов посмотрите может у вас больше всего времени на группировку уходит...
Огромное спасибо! Обязательно последую вашим советам
Обсуждают сегодня