Home Uncategorized Tableau Performance Optimization – Best Practices for Large...
Uncategorized

Tableau Performance Optimization – Best Practices for Large Datasets

Tableau performance optimization is critical for enterprise deployments. Master extraction, query optimization, caching, and best practices for large datasets (100M+ rows).

Extract Optimization: The Foundation

Extract vs Live Trade-offs: Live: real-time data, slow queries (100M+ rows timeout). Extract: snapshot (HYPER format), fast (100x faster). Extract size: query reduces rows (WHERE clause), aggregation reduces cardinality. Incremental extract: update only new/changed rows (faster refresh). Full extract: replace entire dataset (slow but fresh).

Reducing Extract Size: Filter at query: SELECT year > 2020 (exclude old data). Aggregate: daily summary table instead of transaction-level. Denormalization: pre-join tables (reduce query joins). Column selection: include only necessary columns (exclude unused). Data types: INT vs BIGINT (size impact). Result: 100M → 10M rows (90% reduction), faster refresh.

Refresh Scheduling: Schedule extracts: off-peak hours (midnight, weekends). Incremental: update daily (small delta). Full refresh: weekly/monthly (ensure freshness). Monitor refresh time: alert if > threshold. Parallel refresh: stagger multiple extracts (avoid resource contention). Result: fresh data without peak-hour slowdown.

5 Complete Solved Interview Problems

Question 1: Optimize Slow 500M Row Extract

Extract takes 120 min. Refresh window 4 hours. Target 30 min. Strategy?

Analysis: 500M rows, all transactions (2020-2024)
Optimization steps:
1. Filter data: exclude 2020 (old), keep 2021+ (400M rows)
2. Aggregate: daily summary table (transactions → aggregates)
3. Incremental extract: daily delta only (delta 10M rows/day)
4. HYPER format: compression (saves 20-30%)
5. Database index: date, customer_id columns
Result: 120 → 25 min extract (5x improvement)

Google – Data Platform Engineer

Question 2: Diagnose Dashboard Slowness

Dashboard 10 sec load time (target 2 sec). 5 worksheets. Identify bottleneck?

Performance Recording: Extensions > Performance Recorder
Results: Worksheet A (3 sec), B (2 sec), C (4 sec – SLOW), D (0.5 sec), E (0.5 sec)
Worksheet C: LOD + table calc + 200k marks
Optimization: Remove LOD (pre-aggregate in extract), reduce marks (filter or limit), remove table calc
Result: C (4 sec → 1 sec), Dashboard (10 → 5 sec). Further: lazy load C (hide by default)

Meta – Senior Analytics Engineer

Question 3: Implement Incremental Extract

Daily transaction data (10M rows/day). Full extract 2 hours. Incremental strategy?

Setup incremental extract:
1. Source column: transaction_date (date when created)
2. Extract filter: [transaction_date] > [Tableau Increment Timestamp]
3. Schedule: Full extract weekly (Sunday), Incremental daily
4. Tableau manages timestamp (auto)
Result: Incremental (15 min per day), Full (2 hours weekly)
Week: 5 incremental (5×15=75 min) + 1 full (2 hours) = 2.75 hours total

Amazon – Data Engineer

Question 4: Optimize Worksheet Query

Worksheet slow (8 sec). Data: 100M customer records, complex joins, 3 LOD expressions. Solutions?

Optimization steps:
1. Remove LOD (pre-calculate in extract as separate table)
2. Simplify joins: use extract (pre-joined) instead of live query
3. Add filter: [Year] = 2024 (reduce 100M → 20M rows)
4. Limit marks: hide detail, aggregate to region level
5. Index: primary keys, foreign keys in database
Result: 8 sec → 1.5 sec query. Worksheet responsive.

Apple – Analytics Engineer

Question 5: Server Capacity Planning

Tableau Server: 500 concurrent users, dashboards 5-10 sec load. Add nodes or optimize?

Capacity analysis: 500 users, 5-10 sec load = oversubscribed
Optimization first (cheaper):
1. Reduce extract refresh (shift off-peak)
2. Implement query caching (24-hour default)
3. Optimize slow worksheets (reduce LOD, filter)
4. Enable summary data caching (aggregate on server)
Result: 5-10 sec → 2-3 sec (per-user improvement)
If still slow: Add 2 query processing nodes (distributes load)
Capacity: 4-core node handles ~100 concurrent users

Microsoft – Senior Analytics Manager

15 Practice Questions

Question 6: Use materialized view: pre-aggregate transactions to daily level. How does querying from summary view improve dashboard performance vs raw tables?

Question 7: Partition extract by year or region: separate extracts for each partition. When is partitioning worth the complexity?

Question 8: Create summary tables in database layer: pre-aggregate data before publishing to Tableau. Extract from summary vs raw?

Question 9: Live connection returns timeout error on 1B row table. Diagnosis: query taking > 30 sec. Remediation strategies?

Question 10: Extract refresh fails silently: monitor alerts. How to set up notifications when extract refresh fails? What to check first?

Question 11: Compare HYPER vs TDE extract formats. Compression ratio difference? Speed difference? Backward compatibility?

Question 12: Tableau Bridge: hybrid extract + live approach. When to use Bridge instead of pure live or extract?

Question 13: Query result cache: Tableau Server caches 24 hours by default. Can this timeout be customized? Tradeoff of longer cache?

Question 14: Background jobs: extract refresh vs subscription vs query priority. How does Tableau Server queue jobs?

Question 15: Database indexing: primary key vs compound index performance. How to ensure Tableau benefits from database indexes?

Question 16: Enable query logging: capture slow queries for analysis. SQL Server, PostgreSQL, MySQL logging syntax?

Question 17: Tableau Server memory allocation: how much RAM needed? Scaling factors (number of concurrent users, dataset size)?

Question 18: Workbook publishing: check dependencies on data sources, calculations, parameters. Impact on performance?

Question 19: Subscription performance: scheduled dashboard delivery vs on-demand viewing. Load balancing considerations?

Question 20: Disaster recovery: backup extract files, schedule periodic full exports. Recovery time objective (RTO) vs recovery point objective (RPO)?

Master Tableau Performance Optimization

Get our comprehensive Data Analytics: Ace All The Interview Concepts course.

Scroll to Top