Performance Recommendations for Semantic Models

A scan suggests cardinality and Match Case Insensitivity changes that speed semantic model queries. Model Health shows which recommendations remain open.

View supported editions.

What a Scan Checks

Performance recommendations in Tableau Next suggest cardinality and match-case changes that speed semantic model queries and lower compute cost. On the Semantic Layer tab, open Optimize Model to scan the model. The scan reads relationship metadata and samples the columns that join the tables. Apply, review, or dismiss each recommendation.

The Performance tab lists two recommendation types. Apply the recommendations that fit your data and how the model is likely to change, and dismiss the rest.

Performance Recommendation What It Improves How the Scan Detects It
Cardinality Query run time. The query engine skips deduplication when the cardinality is one to one or many to one. The relationship's cardinality, from relationship metadata, a cardinality query, and a scan of the keys that join the tables.
Match Case Insensitivity Query run time. The join skips a case-sensitive string comparison. The Match Case Insensitivity setting on the join. The scan checks whether the join fields contain both lowercase and uppercase values.

Cardinality tells the query engine how rows in two related objects correspond: one to one, one to many, or many to many. A many-to-many cardinality adds deduplication to every query, and the query runs slower. When the data is one to one or many to one, that cardinality lets the engine skip the deduplication. Setting cardinality to the suggested value can speed queries by up to 50%.

A case-sensitive text join requires an exact match, including capitalization, and that comparison slows the query. When the joined values use the same capitalization, turn on Match Case Insensitivity. The join becomes case-insensitive and runs faster. Standardizing those joins can avoid full table scans and improve query run time by up to 90%.

Note
Note Recommendations reflect patterns in the model and data at scan time and can include a margin of error. Review each recommendation's details, and use your knowledge of the data before you apply a recommendation.

Recommendation Cards and Model Health

After the scan, the Performance tab shows one card for each recommendation type: Cardinality and Match Case Insensitivity. Each card includes the recommendation name, a short summary of what the scan found, and Review. Review opens the list of relationships for that type.

When a recommendation type has no issues, the card shows a cleared state, such as "No cardinality issues were found in relationships." When the model has no performance issues, both cards show the cleared state.

The panel also shows a Model Health rating, such as Moderate or Weak. Model Health reflects how many objects have outstanding performance recommendations relative to the total number of objects. Each recommendation contributes to the rating. Resolving recommendations improves the rating.

Opening Optimize Model in a new session starts a scan. Reopening the panel in the same session shows the existing results. Each scan evaluates the model as it exists at the scan time. To refresh the recommendations after you edit the model, open Optimize Model again. During a scan, Model Health shows a scanning badge with the message Scanning the semantic model. Model Health reflects how many objects have outstanding performance recommendations relative to the total number of objects. Resolving recommendations improves the rating.

A scan usually takes a few minutes. See Scan a Semantic Model for Performance Recommendations to generate a Model Health rating and the recommendation cards. See Apply Cardinality Recommendations to Your Semantic Model and Apply Match Case Insensitivity Recommendations to a Semantic Model to review and apply the recommendations.

Limitations

  • Recommendations appear after you scan the model. Opening Optimize Model in a new session starts the scan.
  • Each scan evaluates the model and data as they exist at the scan time. Tableau Next monitors the model only while a scan runs.
  • When joined values later differ only by capitalization, turn off Match Case Insensitivity on the relationship. Tableau Next doesn't recommend that change.
  • To undo an applied recommendation, change the relationship setting yourself.
  • Performance recommendations skip small tables.
  • For hybrid relationships, set up acceleration in the Tableau Next data acceleration experience.