Import vs DirectQuery vs Direct Lake on OneLake vs Direct Lake on SQL

Verdict: Import caches a snapshot and needs a refresh. DirectQuery queries live. Direct Lake loads the latest by default; choose on OneLake for composite models and OneLake Security, on SQL when curated views need DirectQuery fallback.

CriterionImportDirectQueryDirect Lake on OneLakeDirect Lake on SQL
Data freshnessCached snapshot, explicit refresh requiredQueries source live at report timeLoads latest by default, reframing updates pointersLoads latest by default, reframing updates pointers
DirectQuery fallbackNot applicableNot applicableNone; unsupported table failsFalls back for views, SQL granular access, or guardrail breach
RLS sourceModel RLSSource or model RLSOneLake Security roles, resolved by effective identitySQL analytics endpoint security, which forces DirectQuery fallback
Composite modelYesYesYes: Import in web modelling, DirectQuery via XMLANo
Guardrail breachBound by memoryNot applicableRefresh fails, model cannot be queriedRefresh succeeds with warning, falls back if fallback enabled
ConnectionGateway supportedGateway supportedCloud only, no gatewayCloud only, no gateway
Choose whenSlow-changing reference data, guaranteed fast visualsReal-time source of truth, no cachingLakehouse delta tables; needs composite or OneLake SecurityWarehouse SQL endpoint; curated views need graceful fallback

Rules

Traps