Metabase queries can become expensive, especially on large datasets or distributed engines like Trino. The following best practices help reduce execution time, lower load on the engine, and improve dashboard responsiveness.Documentation Index
Fetch the complete documentation index at: https://docs.nx1cloud.com/llms.txt
Use this file to discover all available pages before exploring further.
Avoid full table scans
Large unfiltered queries are costly. Always filter or limit data early when possible. Filtering drastically reduces the data scanned and speeds up execution.-
Bad example: Full table scan
-
Good example: Filter early
Use date filters
Filtering by a recent time window reduces the amount of data scanned. For examplePrefer aggregated queries
Aggregations reduce the amount of data processed and returned.-
Bad example: Returning raw rows
-
Good example: Summary metric
Use partitions
If you partition Iceberg tables, filtering on partitions, such as date or region, significantly improves performance.-
Bad example: Filtering on a non-partition column.
-
Good example: Filter using the partition column.
Limit returned data
Visualization queries should return summaries or KPIs, not raw tables with large row counts.-
Bad example: Returning millions of rows.
-
Good example: Return only needed fields, or aggregated data.
Additional resources
- To get an overview of Metabase, refer to the Metabase in NexusOne page.
- To learn practical ways to use Metabase in the NexusOne environment, refer to the Metabase hands-on examples page.
- For more details about Metabase, refer to the Metabase official documentation.
- If you are using the NexusOne portal to visualize your dataset, refer to the Discover page.