Pivot acelera las consultas GROUP BY descartando particiones que no aportan al Top K
Can GROUP BY still be optimized after all these years?
Pivot encontró una optimización para consultas GROUP BY con ORDER BY y LIMIT que buscan los K grupos con mayor agregado. En lugar de fusionar todas las particiones, asigna cada grupo a un slot dentro de la partición y descarta las particiones cuyos slots quedan por debajo del menor valor del Top K actual. En ClickBench, el 63% de las consultas siguen este patrón; una consulta simple mejoró de 35,6 ms a 22,2 ms al podar más del 70% de las particiones.
Si nuestro sistema usa 4096 particiones, los 10 ítems principales pueden pertenecer como máximo a 10 de ellas. Eso deja al menos 4086 particiones cuyos resultados no aportan nada a la respuesta final, y aun así dedicamos mucho tiempo y cómputo a fusionarlas.