дело было в часовом поясе на самом сервере. так как в настройках кликхауса она не была указана, то клик подхватил с сервера. Изменили на UTC на сервере, перезагрузили кликхаус и всё стало быстро. стало инсёртить в 7 раз быстрее, чем было до этого.
Вопрос: что происходило на самом деле? Он прибавлял 3 часа к каждому datetime во время insert запросов? или пересчитывал при select запросах? Как оценить сколько данных мы потеряли со всеми этими изменениями и потеряли ли вообще? Может время просто пересчиталось обратно? Повлияло ли это на date колонки каким-то образом?
> Оказалось дело было в часовом поясе на самом сервере. так как в настройках кликхауса она не была указана, то клик подхватил с сервера. Изменили на UTC на сервере, Ох, зря вы это
clickhouse-local -q "create table test(t DateTime) Engine=MergeTree partition by toYYYYMM(t) order by tuple() as select toDateTime('2021-12-31 23:00:00', 'UTC'); select toUnixTimestamp(t), _part from test" 1640991600 202112_1_1_0 TZ=Europe/Moscow clickhouse-local -q "create table test(t DateTime) Engine=MergeTree partition by toYYYYMM(t) order by tuple() as select toDateTime('2021-12-31 23:00:00', 'UTC'); select toUnixTimestamp(t), _part from test" 1640991600 202201_1_1_0
Обсуждают сегодня