Трябва да експериментирате с по-високи настройки на work_mem
докато получите сортиране в паметта. Разбира се, можете да бъдете щедри с памет само ако вашата машина има достатъчно от нея.
Това, което би направило вашата заявка много по-бърза, е ако съхранявате предварително обобщени данни, или с помощта на материализиран изглед, или втора таблица и тригер на оригиналната ви таблица, който поддържа сумите в другата таблица актуализирани. Не знам дали това е възможно с вашите данни, тъй като не знам какво е hll_cardinality
и hll_union_agg
са.