SUM function in SQL - Time & Space Complexity
We want to understand how the time needed to calculate a sum changes as the amount of data grows.
How does adding up many numbers affect the work the database does?
Analyze the time complexity of the following code snippet.
SELECT SUM(sales_amount) AS total_sales
FROM sales_records
WHERE sales_date BETWEEN '2024-01-01' AND '2024-01-31';
This query adds up all sales amounts for January 2024 from the sales_records table.
- Primary operation: The database reads each row that matches the date range and adds its sales_amount to a running total.
- How many times: Once for each matching row in the table.
Explain the growth pattern intuitively.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | About 10 additions |
| 100 | About 100 additions |
| 1000 | About 1000 additions |
Pattern observation: The work grows directly with the number of rows to add up. Double the rows, double the additions.
Time Complexity: O(n)
This means the time to calculate the sum grows in a straight line with the number of rows processed.
[X] Wrong: "The SUM function instantly returns the total no matter how many rows there are."
[OK] Correct: The database must look at each row to add its value, so more rows mean more work.
Understanding how aggregation functions like SUM scale helps you explain query performance clearly and confidently.
"What if we added a GROUP BY clause to sum sales by each store? How would the time complexity change?"