и т.д. где-нибудь в настройках самой таблицы или даже всего сервера, чтобы при селектах всегда использовался FINAL. Я тут прочитал, что в движке MaterializeMySQL используется FINAL на автомате и задумался, может как-то можно сделать подобное поведение и в других движках?
https://clickhouse.tech/docs/ru/engines/database-engines/materialize-mysql/#select
в MaterializeMySQL там движок БАЗЫ а не таблицы FINAL на автомате использовать. так себе идея, потому что просадка по CPU весьма существенная, человек явно должен понимать зачем ему AggregatingMergeTree и что это дает...
этой просадкой я готов пренебречь :) а вот обарачивать вьюхой и делать FINAL в ней - это уже просадка, которая мне не очень нравится :)
Так вьюха же вам наоборот данные будет подготавливать заранее +/-
ну вы готовы, а другие нет явное всегда лучше "не явного"
так я и хочу "явно указать" в настройках таблицы или движка, а не выступаю "давайте сделаем такое поведение дефолтным для всех". вот и подумал, что тут аналогично MaterializeMySQL сделали. а про явное/неявное - это вообще холиварная тема, тут большинство вопросов "почему у меня дубли" или "почему ничего не схлопывается", т.е. для большинства людей, которые не прочли этого в документации дефолтное поведение кликхауса как раз таки и является неявным.
Обсуждают сегодня