Database Viewer
Browse the SQL that builds any database used across the lessons, without running it.
Loaded: Lesson 5 database ยท advanced-indexes.database-init
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
order_number TEXT NOT NULL,
status TEXT NOT NULL,
created_at TIMESTAMP NOT NULL,
total_cents INTEGER NOT NULL
);
CREATE INDEX orders_status_idx ON orders (status);
CREATE INDEX orders_status_created_at_idx ON orders (status, created_at DESC);
CREATE INDEX orders_failed_order_number_idx ON orders (order_number)
WHERE status = 'failed';
INSERT INTO orders (order_number, status, created_at, total_cents)
SELECT
'ORD-' || value,
CASE
WHEN value % 100 = 0 THEN 'failed'
WHEN value % 10 = 0 THEN 'pending'
ELSE 'paid'
END,
TIMESTAMP '2026-01-01 00:00:00' + (value || ' minutes')::interval,
1000 + value
FROM generate_series(1, 12000) AS value;
ANALYZE orders;