1. использование штучек типа
Decimal
очень замедляет расчеты, поскольку эмулируется, а не считается процессором на уровне микрокоманд и регистров.
Его применение действительно должно быть обоснованным, если задача не позволяет вручную положить числа в
Integer (16/32/64)
...
Похоже на эмуляцию общепринятых либ
https://gmplib.org/ или
https://www.mpfr.org/2. Расчет идет в Clickhouse, как указано в исходном запросе, а значит Decimal тут не при чем.
Дублирую:
В доке CH черным по белому написано ровно про Ваш кейс (коли есть возмущение и знаете предметную область задачи):
"
Рекомендуется хранить данные в целочисленном виде всегда, когда это возможно. Например, переводите в целочисленные значения числа с фиксированной точностью, такие как денежные суммы или времена загрузки страниц в миллисекундах."
https://clickhouse.tech/docs/ru/sql-reference/data-types/float/