Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Optimize Slow Database Join
00:00
5 left

Optimize Slow Database Join

MediumSQL · PostgreSQL

Problem

Write a query to optimize a slow-performing database join on a table containing millions of sensor telemetry logs.

Use the provided PostgreSQL tables and restrict analysis to January 2026. Return only active sensors that have telemetry during that period.

Output

  1. One row per qualifying sensor with sensor_id, site_code, sensor_name, latest_recorded_at, latest_temperature_c, previous_temperature_c, and temperature_delta_c
  2. Use the most recent reading, breaking timestamp ties with the greatest log_id
  3. Order by sensor_id ascending

Schema

sensor_registry
ColumnTypeDescription
sensor_idPKINTEGERUnique sensor identifier
site_codeVARCHAR(20)Site identifier assigned to the sensor
sensor_nameVARCHAR(100)Human-readable sensor name
is_activeBOOLEANWhether the sensor is currently active
sensor_telemetry_logs
ColumnTypeDescription
log_idPKBIGINTUnique telemetry log identifier
sensor_idINTEGERSensor that produced the reading
recorded_atTIMESTAMPTimestamp when the reading was recorded
temperature_cNUMERIC(6,2)Temperature reading in degrees Celsius
statusVARCHAR(20)Telemetry processing status
Tablessensor_registrysensor_telemetry_logs
Interviewer

Your question is Optimize Slow Database Join. Start with the requirements and the two tables in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePostgreSQL
You need to log in / sign up to run or submit.Ln 1
Run your query to see results here.