--- title: "Views" sidebarTitle: "View" description: "A saved query, evaluated when read. The non-materialized counterpart to a materialized view." icon: eye keywords: ["view", "create view", "sql", "catalog"] availability: oss: unavailable enterprise: varies summary: >- Views need a LanceDB Enterprise deployment that has them enabled; the embedded library cannot create them. --- A view stores a **query**, not rows. Reading it runs the query against current data, so a view is never stale -- and never faster than the query it wraps. It is the counterpart to a [materialized view](/management/materialized-view), which stores rows and is brought up to date by a refresh. Both are [catalog objects](/basics/catalog) defined by a query; the difference is entirely when that query runs. | | View | Materialized view | | --- | --- | --- | | Stores | the query | the rows | | Freshness | always current | as of the last refresh | | Read cost | the full query, every read | a table scan | | Write cost | none | a refresh | Views are created on a deployment, either in SQL over the [Flight SQL endpoint](/sql#connecting) or with the SDKs' `create_view` / `createView`, which send the query to the deployment. Either way, the deployment must have views enabled. See [View](/sql/ddl/view) for `CREATE VIEW`, `DROP VIEW`, and listing.