- name
- spice-views
- description
- Configure SQL views in Spice for virtual tables and query abstraction. Use when asked to "create a view", "add virtual table", "define SQL view", or "create derived table".
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.idAccelerated 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: 1hQuerying 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