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: table

Rule 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

Related dbt guides

© 2026 Panda Capital Oy Ab. All rights reserved.