Skip to main content
NexusOne replaced Metabase with Apache Superset
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.

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 example

Prefer 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.