postgresql.seq_rows_read
Rows read by seq scansDimensions:None
Interface Metrics (3)
Dimensions:None
Dimensions:None
Sources
Technical Annotations (8)
CLI Commands (5)
CREATE INDEX idx_orders_status_created ON orders (status, created_at);remediationEXPLAIN ANALYZE SELECT o.id, o.total, c.name FROM orders o JOIN customers c ON c.id = o.customer_id WHERE o.created_at > '2026-01-01' AND o.status = 'completed';diagnosticCREATE INDEX idx_orders_customer ON orders(customer_id);remediationSELECT relname AS table, seq_scan, seq_tup_read, idx_scan, seq_tup_read / NULLIF(seq_scan, 0) AS avg_seq_tup FROM pg_stat_user_tables WHERE seq_scan > 0 ORDER BY seq_tup_read DESC LIMIT 20;diagnosticSELECT schemaname || '.' || relname AS table, seq_scan, idx_scan, n_live_tup, round(100.0 * seq_scan / NULLIF(seq_scan + idx_scan, 0), 2) AS seq_scan_pct FROM pg_stat_user_tables WHERE seq_scan > 1000 AND n_live_tup > 10000 ORDER BY seq_scan DESC;diagnosticTechnical References (3)
Seq ScancomponentBitmap Index Scancomponentpg_stat_user_tablescomponentRelated Insights (2)
Sequential scan reads excessive rows due to missing indexwarning
▸
Missing indexes on WHERE clause columns cause full table scanscritical
▸