Business Intelligence (BI) performance optimization encompasses the systematic improvement of data retrieval, processing, and presentation across the entire analytics stack—from source databases to end-user dashboards. In modern BI environments, query response times, data refresh rates, and dashboard load times directly impact decision-making velocity and user adoption. Effective BI performance optimization requires understanding the complete data flow: how data is extracted, transformed, stored, indexed, queried, and visualized. The most impactful optimization occurs at the earliest stages—poor data modeling or missing indexes at the source can nullify downstream optimizations, making architectural decisions at the data warehouse layer more consequential than frontend tuning.
What This Cheat Sheet Covers
This topic spans 20 focused tables and 120 indexed concepts, 114 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Query Optimization Fundamentals
Writing queries that return the right data while scanning as little of it as possible is the highest-leverage optimization in any BI stack; the techniques here apply universally across SQL databases and columnar warehouses alike.
| Technique | Example | Description | |
|---|---|---|---|
SELECT * FROM sales WHERE order_date >= '2026-01-01' | Reduces rows processed by applying filters before joins and aggregations — the most fundamental optimization technique | ||
SELECT customer_id, totalFROM orders | Reduces data transferred and memory usage by avoiding SELECT * — critical for columnar storage where column pruning dramatically reduces I/O | ||
SELECT * FROM transactions ORDER BY date DESC LIMIT 1000 | Restricts rows returned to prevent memory overflow and network bottlenecks — especially important for pagination and dashboard previews | ||
GROUP BY customer_id instead ofSELECT DISTINCT customer_id | GROUP BY often performs better than DISTINCT as it allows index-based operations rather than full result set deduplication | ||
Filter on cluster key column: WHERE order_date BETWEEN '2026-01-01' AND '2026-03-31' | Snowflake stores metadata min/max per micro-partition — filtering on the cluster key column eliminates entire micro-partitions from the scan, typically reducing I/O by 90%+ | ||
SELECT * FROM orders WITH (INDEX(idx_date)) | Forces optimizer to use specific execution paths when statistics are misleading — use sparingly as hints bypass cost-based optimization |