What Are dbt Materializations?
Last updated July 25, 2026 · By the SaturnSQL team
A materialization controls how a model is persisted: view (default) creates a view, table rebuilds a table each run, incremental appends or merges new rows, and ephemeral inlines the SQL as a CTE in downstream models. Configure it per model or per folder.
Per model
{{ config(materialized='table') }}Per folder in dbt_project.yml
models:
my_project:
staging:
+materialized: view
marts:
+materialized: tableRule of thumb: views for cheap staging transformations, tables for heavily queried marts, incremental for large append-mostly event data, ephemeral for small reusable logic you never need to query directly. Adapters can add more, like materialized_view.
Run this in SaturnSQL
SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.
Try it free