Spice Views
Views are virtual tables defined by SQL queries, useful for simplifying complex queries and reusing logic.
Basic Configuration
views:
- name: <view_name> sql: | SELECT ...
Examples
Simple View
views:
- name: active_users sql: | SELECT id, name, email FROM users WHERE status = 'active'
Aggregation View
views:
- name: daily_sales sql: | SELECT DATE(created_at) as date, SUM(amount) as total, COUNT(*) as orders FROM orders GROUP BY DATE(created_at)
Join View
views:
- name: order_details sql: | SELECT o.id, o.created_at, c.name as customer, p.name as product, o.quantity FROM orders o JOIN customers c ON o.customer_id = c.id JOIN products p ON o.product_id = p.id
Accelerated View
Views can be accelerated like datasets:
views:
- name: rankings sql: | SELECT product_id, SUM(quantity) as total_sold FROM orders GROUP BY product_id ORDER BY total_sold DESC LIMIT 100 acceleration: enabled: true refresh_check_interval: 1h
Querying Views
Views are queried like regular tables:
SELECT * FROM active_users WHERE email LIKE '%@example.com'; SELECT * FROM daily_sales WHERE date >= '2024-01-01';
Limitations
-
Views are read-only (no INSERT/UPDATE/DELETE)
-
Performance depends on underlying query complexity
-
Complex views may benefit from acceleration
Documentation
-
Views Overview
-
Views Reference