Post

Months of work went into this and I finally saw it live in production. From queries that used to take 15+ seconds (and timed out) to just ~10-30ms 🚀 More details in the design doc: handbook.gitlab.com/handbook/eng...

handbook.gitlab.comTraversal IDs on issuesBusiness Objectives To further roll out work items, we need to tackle the scaling problems that are inherent to our hierarchy-based approach to querying data. Without addressing these performance prob...

0 reposts0 likes

Querying tree hierarchies can be tricky, especially when the `IN (...)` query gets large. There are some optimisations, but you can only go that far. We decided to denormalise the hierarchy data into the issues table. Lots of research and testing went into this. Especially for the new indexes.