Understand how query performance tuning affects dashboard speed and responsiveness in Tableau.
Query performance tuning in Tableau - Dashboard Guide
Start learning this pattern below
Jump into concepts and practice - no test required
| Query ID | Execution Time (seconds) | Rows Returned | Cache Status | Optimization Applied |
|---|---|---|---|---|
| Q1 | 12.5 | 15000 | No | None |
| Q2 | 4.2 | 15000 | Yes | Indexing |
| Q3 | 7.8 | 8000 | No | Filter Pushdown |
| Q4 | 3.5 | 8000 | Yes | Filter Pushdown + Indexing |
| Q5 | 15.0 | 30000 | No | None |
| Q6 | 5.0 | 30000 | Yes | Indexing |
- KPI Card: Average Execution Time
Formula: AVG([Execution Time (seconds)])
Shows the average query execution time across all queries. - KPI Card: Average Execution Time (Cached Queries)
Formula: AVG(IF [Cache Status] = 'Yes' THEN [Execution Time (seconds)] ELSE NULL END)
Shows average execution time for cached queries only. - Bar Chart: Execution Time by Query ID
X-axis: Query ID
Y-axis: Execution Time (seconds)
Color: Optimization Applied
Shows how different optimizations affect execution time per query. - Table: Query Details
Columns: Query ID, Execution Time (seconds), Rows Returned, Cache Status, Optimization Applied
Shows detailed data for each query.
+----------------------+-----------------------------+
| Average Execution Time| Average Execution Time (Cached)|
| KPI Card | KPI Card |
+----------------------+-----------------------------+
| |
| Bar Chart: Execution Time by Query ID |
| |
+------------------------------------------------------+
| |
| Table: Query Details |
| |
+------------------------------------------------------+
Filter: Optimization Applied
Selecting one or more optimization types filters the bar chart and table to show only queries with those optimizations.
The KPI cards update to reflect average execution times for the filtered queries.
Filter: Cache Status
Choosing 'Yes' or 'No' filters all components to show cached or non-cached queries only.
This helps compare performance impact of caching.
Add a filter for Optimization Applied = 'Indexing'.
Which components update and what changes do you see?
Answer:
The bar chart and table update to show only queries Q2, Q4, and Q6.
The KPI cards recalculate average execution times for these queries.
You will see that queries with indexing have lower execution times compared to those without.
Practice
Solution
Step 1: Understand Performance Recorder's role
Performance Recorder tracks how long queries and dashboard actions take to run.Step 2: Identify its main use
This helps users find slow parts to improve dashboard speed.Final Answer:
To identify slow queries and dashboard actions for optimization -> Option BQuick Check:
Performance Recorder = Identify slow parts [OK]
- Thinking it creates visualizations
- Confusing it with data export tools
- Assuming it schedules refreshes
Solution
Step 1: Locate Performance Recorder in Tableau menus
Performance Recorder is started from the Help menu under Settings and Performance.Step 2: Confirm correct menu path
The correct path is Help > Settings and Performance > Start Performance Recording.Final Answer:
Go to Help > Settings and Performance > Start Performance Recording -> Option DQuick Check:
Performance Recorder start = Help menu [OK]
- Looking under Data or Dashboard menus
- Right-clicking worksheet expecting option
- Assuming a separate settings panel
Solution
Step 1: Understand impact of live connections
Live connections query the database every time, which can be slow with many filters.Step 2: Use extracts to improve speed
Extracts store data locally and speed up queries by reducing database load.Final Answer:
Replace live connection with an extract -> Option AQuick Check:
Extracts speed queries better than live connections [OK]
- Adding more filters increases query time
- Complex calculations slow performance
- More worksheets increase load, not reduce
IF [Sales] > 1000 THEN [Profit] ELSE 0 END. What is a likely fix to improve performance?Solution
Step 1: Analyze calculation impact
Calculations inside dashboards can slow queries, especially row-by-row IF statements.Step 2: Simplify by filtering data first
Filtering data before calculations reduces rows processed and speeds performance.Final Answer:
Replace the calculation with a simple filter on Sales > 1000 -> Option AQuick Check:
Filtering before calculation improves speed [OK]
- Adding more IFs increases complexity
- Using string functions unrelated to numeric filters
- Removing filters can increase data load
Solution
Step 1: Identify performance bottlenecks
Complex joins and many filters slow queries, especially on live data sources.Step 2: Apply combined fixes
Using extracts reduces database load, fewer filters reduce query complexity, and simpler joins speed data retrieval.Step 3: Avoid opposite actions
Adding calculated fields or more worksheets increases load; removing extracts loses speed benefits.Final Answer:
Use extracts for data sources, reduce filters, and simplify joins -> Option CQuick Check:
Extracts + fewer filters + simple joins = faster queries [OK]
- Adding more calculated fields slows performance
- Increasing dashboard size adds load
- Removing extracts loses caching benefits
