Quickbase offers several ways to better understand where complexity exists in your apps. Knowing what fields might be contributing to slower performance allows you to find a solution to best optimize your apps.
Learn more about performance in Quickbase.
In this article
Dependency diagram
The dependency diagram is a visual map of how fields in a table interact with one another. It highlights dependencies between fields, and shows how many calculations Quickbase performs to evaluate each field when it is used per record.
The number of calculations helps you understand the connections between your fields so you can better evaluate your app structure and workflows. It does not tell you how much time each of those calculations take. For example, 2 fields may both have 10+ calculations, but one might take significantly longer than the other given the complexity of those calculations.
How calculation counts work
The calculation count represents how much work Quickbase needs to perform to evaluate the field, even before its used in a report, sort, or filter.
A field that depends on other fields, such as lookups or summaries, adds additional calculations for each dependency.
Each formula expression is counted as a calculation. To find out how many expressions your formula performs and view processing time for each, run the formula checker. Each expression returned counts as 1 calculation. Learn more about the formula checker.
Select the fire icon in the dependency diagram to view the hot path. This shows you any fields that contribute to over 20% of calculations of a parent field, which helps you identify the most complex and expensive calculations.
Learn more about checking field usage with the dependency diagram
Performance analyzer
The performance analyzer captures and reports on the performance of key actions in your app, such as opening a report, saving a record, or loading a form. It provides detailed timing information and recommendations for improvement.
Use this tool to identify fields that impact performance when performing actions in Quickbase.
Learn more about analyzing performance of apps
Example of using these tools
This example shows how Quickbase processing works, and how you can use built-in tools to identify areas for improvement within your app.
Using the dependency diagram
We have a formula field that tracks Percent over budget, with a dependency diagram that looks like this:
The diagram shows that Quickbase estimates 45+ calculations per record any time that formula field is used. By enabling the “hot path” feature, we can see where the calculations flow that exceed 20% of the total. In large fields, this helps you quickly identify what parts of a given field are doing the most heavy lifting.
The number of estimated calculations are additive, which means we’re counting each node below in the dependency diagram. In this example, fields that exceed 20% of the total ends at the field Weekly total.
Running the performance analyzer on a report
Next, we run the performance analyzer on a report where this column is used to see exactly how much time is used to perform these calculations. We used a report that lists all records on the table, which is about 230,000 records.
By default in grid reports, Quickbase calculates 100 rows of data and continues calculating as you scroll (similar patterns exist elsewhere in the product). For example, we can see the field Percent Over Budget took less than 1/100 of a second to calculate, and there were 100 operations. 100 operations represent the 100 rows of data.
Based on the dependency diagram, we know this field requires ~45 calculations per record, which means that Quickbase performed ~450 calculations to return the Percent Over Budget for 100 records on this report.
The most expensive operation was sorting which took 1/100 of a second, 40% of the overall processing time and ~230,000 operations. That's because even though we’re only returning 100 rows of data, Quickbase must go through every record and its Project ID value to determine its place in the list.
Note: The number of sort operations will generally be close to the number of rows returned on the report but will not be exact.
Running the performance analyzer when sorting
On the same report, when sorting by the original field we looked at: Percent Over Budget, the performance analyzer returns different results:
The report now takes .14s, with ~90% of the time being used to sort.
Quickbase automatically broke ties in the sort by sorting on Project ID. This means that if 2 records contained the same value in the Percent Over Budget field, Quickbase then looked at the Project ID field to determine how to sort.
In total, a ~250,000 operations were performed on the Percent Over Budget field. Since we know that field has approximately ~45 calculations per record, sorting this report by this field took approximately 11 million calculations.
This count can easily get into the hundreds of millions, depending on the number of records, complexity of the field, or action performed. Quickbase also has a series of optimizations in place that happen automatically behind-the-scenes to minimize unnecessary work.
This same process could also be performed in reverse; by running performance analyzer on a report, form, or data save operation to see which fields consume the most time, then inspecting the dependency diagram to determine the calculations being performed.
Next steps
With these results, we can now make decisions like:
- Not sorting by this field
- Simplifying its processing
- Adding report caching
- Choosing to evaluate this field less often
In field settings for formula fields, select Evaluate this field only when data has changed to help improve performance
In our example, after selecting this option, the number of operations stays consistent (since the number of records hasn’t changed), but the overall processing of the report decreases from .14s to .05s, with that reduction all occurring in the Sort and group operation. While Quickbase still visits each record, the platform no longer calculates Percent Over Budget each time. That field is only calculated again one data or schema changes in the app.
Running the performance analyzer when setting up a custom email
Let’s take the same field and setup a custom email that notifies supervisors when the Percent Over Budget is greater than 10%. While on new grid reports, you decide to edit a set of records. When selecting Save, Quickbase evaluates the Percent Over Budget field for every record that is changed to determine whether the email should be sent. We can see that in the Performance Analyzer, ~230 records were edited. Similar lines will show for when the body of the message is being constructed.
Optimize your apps
Once you’ve identified areas of complexity within your app, consider ways to optimize based on the use case. If you have questions or need guidance on your particular app, contact your Services team or Account team, or get help from Quickbase Technical Support.
Additional resources: