Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Optimizing Slow Queries

HardSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is Optimizing Slow Queries. Start with the requirements and the three tables on the right.

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.

Problem

Describe how you would approach optimizing a slow-running query in a large relational database.

Use the supplied PostgreSQL schema and data to demonstrate an optimized version of the query. Your answer should address diagnosis, execution plans, filtering, joins, aggregation, indexes, statistics, and verification.

Output

  1. One row per customer whose completed order-item value exceeds 1000
  2. Columns: customer_id, customer_name, and total_value
  3. Sort by total_value descending, then customer_id ascending

Schema

customers
ColumnTypeDescription
customer_idPKINTCustomer identifier
customer_nameVARCHAR(100)Customer display name
regionVARCHAR(50)Customer region
is_activeBOOLEANWhether the customer is active
orders
ColumnTypeDescription
order_idPKINTOrder identifier
customer_idINTCustomer who placed the order
order_dateDATEOrder creation date
statusVARCHAR(20)Order processing status
order_items
ColumnTypeDescription
order_item_idPKINTOrder-item identifier
order_idINTRelated order identifier
quantityINTNumber of units
unit_priceDECIMAL(10,2)Price per unit
Tablescustomersordersorder_items
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results