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.