This week we turned our sights back to performance. Many of our clients have been using Shotgun for years now, and as their teams grow and projects get more complex, we’re starting to prioritize work that helps support for their growing datasets. This past week, we identified some specific areas of slowness and sped them up. You’ll notice these changes the most on Shotgun pages with lots of data. For those of you who love technical details, this post is for you!
First, we learned that pages that are grouped by the “Project” field or any user-defined multi-entity field (such as a custom “Assets” field on your Shot entity) were running unnecessarily slow queries. In particular, they were calling out to a table that lists almost every entity in your Shotgun database (which for some clients could be 30 million+ records!). We changed this behavior so the query runs a lot faster, and scales better, meaning any page using this type of grouping will load faster.
We also found two types of filters that performed slowly for similar reasons:
- “Is blank” filters for entity fields (e.g. “Assets is [blank]” on a Shot’s ‘Assets’ field)
- Entity type filters (e.g. “Link is a Shot” on a Task’s Link field)
Thanks to the increased capacity we’ve got now via Autodesk, we’ll have a team dedicated to these types of performance and scaling issues, so you’ll continue to see more and more of these optimizations going forward.
Stay tuned for our last 10 in 10 release next week!