Too Many Connections — SQL Technical Interview Questions & Answers

Too Many Connections

Too Many Connections

  • Too Many Connections is a MySQL error/mode, not a query type. Read the message: 1064 = syntax (look at the caret). 2006/2013 = connection dropped (timeout, packet, server restart). 1045 = access denied. 1062 = duplicate key.
  • Safe updates: Workbench blocks UPDATE/DELETE without a key. Either add WHERE pk = … or (lab only) SET SQL_SAFE_UPDATES=0. Don’t turn it off as a lifestyle.
  • Too many connections: close unused clients, raise max_connections only with care. ‘Server has gone away’: wait_timeout / max_allowed_packet / actually crashed server.
  • Trap: googling the code without reading the SQL line MySQL pointed at.
  • On the example next to this theory: Too Many Connections: create two demo rows, then SELECT qty >= 2 ordered. Say which labels come back.

Technical Interview Tip: Name the error code, what it means, one fix.

Code Examples for Too Many Connections

Too Many Connections — sample query

-- Too Many Connections
CREATE TABLE demo (
  id INTEGER PRIMARY KEY,
  label TEXT NOT NULL,
  qty INTEGER DEFAULT 0
);
INSERT INTO demo (id, label, qty) VALUES
  (1, 'alpha', 2),
  (2, 'beta', 5);
SELECT label, qty FROM demo WHERE qty >= 2 ORDER BY qty DESC;

Too Many Connections: create two demo rows, then SELECT qty >= 2 ordered. Say which labels come back.

How to Explain Too Many Connections to an Interviewer

What is 1064?

Syntax error Look at the query near the marker