=== YOURLS SQL Queries Benchmark ===
Date: 2026-02-19 22:25:26
Cache plugin: DISABLED
Iterations per query: 10
========================================
--- OPTIONS TABLE QUERIES ---
SELECT all options (WHERE 1=1) | Avg: 1.06ms | Min: 0.94ms | Max: 1.71ms
SELECT single option (LIMIT 1) | Avg: 0.97ms | Min: 0.86ms | Max: 1.15ms
UPDATE option value | Avg: 1.09ms | Min: 0.90ms | Max: 2.14ms
INSERT new option | Avg: 70.97ms | Min: 49.95ms | Max: 98.93ms
DELETE option | Avg: 2.07ms | Min: 1.85ms | Max: 2.49ms
--- URL TABLE QUERIES (Simple) ---
SELECT url by keyword (simple WHERE) | Avg: 2.14ms | Min: 1.79ms | Max: 2.58ms
SELECT * by keyword | Avg: 1.14ms | Min: 0.84ms | Max: 2.09ms
SELECT * by URL | Avg: 0.89ms | Min: 0.85ms | Max: 1.06ms
COUNT keywords by URL | Avg: 0.87ms | Min: 0.82ms | Max: 0.95ms
SELECT keywords by URL | Avg: 0.84ms | Min: 0.81ms | Max: 0.93ms
--- URL TABLE QUERIES (Complex) ---
SELECT * ORDER BY timestamp LIMIT 10 | Avg: 1.02ms | Min: 0.95ms | Max: 1.18ms
SELECT * ORDER BY clicks DESC LIMIT 10 | Avg: 1.05ms | Min: 0.92ms | Max: 1.54ms
COUNT all keywords | Avg: 0.70ms | Min: 0.64ms | Max: 0.87ms
COUNT + SUM (aggregation) | Avg: 0.73ms | Min: 0.68ms | Max: 0.88ms
--- URL TABLE QUERIES (Write) ---
UPDATE clicks = clicks + 1 | Avg: 86.57ms | Min: 49.91ms | Max: 191.54ms
UPDATE url and title | Avg: 2.39ms | Min: 2.25ms | Max: 2.65ms
INSERT new short URL | Avg: 100.67ms | Min: 49.91ms | Max: 348.09ms
DELETE short URL | Avg: 0.89ms | Min: 0.84ms | Max: 1.08ms
--- LOG TABLE QUERIES ---
INSERT log entry | Avg: 88.17ms | Min: 49.97ms | Max: 173.61ms
SELECT click_time for flood check | Avg: 9.03ms | Min: 7.99ms | Max: 10.29ms
GROUP BY referrer with COUNT | Avg: 1.39ms | Min: 1.24ms | Max: 1.70ms
GROUP BY country with COUNT | Avg: 1.27ms | Min: 1.13ms | Max: 1.46ms
DATE_FORMAT + GROUP BY day (complex) | Avg: 1.50ms | Min: 1.42ms | Max: 1.68ms
Hourly stats with DATE_ADD (very complex) | Avg: 1.44ms | Min: 1.30ms | Max: 1.64ms
========================================
Benchmark completed!
--- SUMMARY BY CATEGORY ---
Simple SELECT (single row) : 1.42ms average
Simple SELECT with aggregation : 0.76ms average
Complex SELECT : 1.28ms average
Write operations : 44.10ms average
--- TOP 5 SLOWEST QUERIES ---
INSERT new short URL : 100.67ms
INSERT log entry : 88.17ms
UPDATE clicks = clicks + 1 : 86.57ms
INSERT new option : 70.97ms
SELECT click_time for flood check : 9.03ms
--- TOP 5 FASTEST QUERIES ---
COUNT all keywords : 0.70ms
COUNT + SUM (aggregation) : 0.73ms
SELECT keywords by URL : 0.84ms
COUNT keywords by URL : 0.87ms
DELETE short URL : 0.89ms
Created
February 19, 2026 22:37
-
-
Save ozh/5b0a5c1dfc024cff70a0a0e8b69d9f45 to your computer and use it in GitHub Desktop.
YOURLS: mysql vs postgresl benchmark
=== YOURLS SQL Queries Benchmark ===
Date: 2026-02-19 22:27:33
Cache plugin: DISABLED
Iterations per query: 10
========================================
--- OPTIONS TABLE QUERIES ---
SELECT all options (WHERE 1=1) | Avg: 1.30ms | Min: 1.22ms | Max: 1.44ms
SELECT single option (LIMIT 1) | Avg: 1.60ms | Min: 1.40ms | Max: 2.22ms
UPDATE option value | Avg: 1.66ms | Min: 1.46ms | Max: 1.81ms
INSERT new option | Avg: 2.20ms | Min: 1.81ms | Max: 3.41ms
DELETE option | Avg: 1.63ms | Min: 1.37ms | Max: 2.40ms
--- URL TABLE QUERIES (Simple) ---
SELECT url by keyword (simple WHERE) | Avg: 1.48ms | Min: 1.36ms | Max: 1.72ms
SELECT * by keyword | Avg: 1.56ms | Min: 1.42ms | Max: 1.65ms
SELECT * by URL | Avg: 1.46ms | Min: 1.37ms | Max: 1.76ms
COUNT keywords by URL | Avg: 1.58ms | Min: 1.46ms | Max: 2.02ms
SELECT keywords by URL | Avg: 1.50ms | Min: 1.39ms | Max: 1.84ms
--- URL TABLE QUERIES (Complex) ---
SELECT * ORDER BY timestamp LIMIT 10 | Avg: 1.34ms | Min: 1.22ms | Max: 1.88ms
SELECT * ORDER BY clicks DESC LIMIT 10 | Avg: 1.40ms | Min: 1.26ms | Max: 1.89ms
COUNT all keywords | Avg: 1.54ms | Min: 1.17ms | Max: 2.32ms
COUNT + SUM (aggregation) | Avg: 1.34ms | Min: 1.23ms | Max: 1.62ms
--- URL TABLE QUERIES (Write) ---
UPDATE clicks = clicks + 1 | Avg: 2.31ms | Min: 2.07ms | Max: 2.78ms
UPDATE url and title | Avg: 2.22ms | Min: 1.95ms | Max: 2.60ms
INSERT new short URL | Avg: 2.32ms | Min: 2.09ms | Max: 2.90ms
DELETE short URL | Avg: 1.50ms | Min: 1.38ms | Max: 1.85ms
--- LOG TABLE QUERIES ---
INSERT log entry | Avg: 2.79ms | Min: 2.29ms | Max: 4.33ms
SELECT click_time for flood check | Avg: 3.77ms | Min: 3.12ms | Max: 5.31ms
GROUP BY referrer with COUNT | Avg: 1.59ms | Min: 1.45ms | Max: 1.81ms
GROUP BY country with COUNT | Avg: 1.55ms | Min: 1.45ms | Max: 1.90ms
DATE_FORMAT + GROUP BY day (complex) | Avg: 5.18ms | Min: 1.79ms | Max: 34.17ms
Hourly stats with DATE_ADD (very complex) | Avg: 6.33ms | Min: 1.88ms | Max: 44.49ms
========================================
Benchmark completed!
--- SUMMARY BY CATEGORY ---
Simple SELECT (single row) : 1.54ms average
Simple SELECT with aggregation : 1.49ms average
Complex SELECT : 2.90ms average
Write operations : 2.08ms average
--- TOP 5 SLOWEST QUERIES ---
Hourly stats with DATE_ADD (very complex) : 6.33ms
DATE_FORMAT + GROUP BY day (complex) : 5.18ms
SELECT click_time for flood check : 3.77ms
INSERT log entry : 2.79ms
INSERT new short URL : 2.32ms
--- TOP 5 FASTEST QUERIES ---
SELECT all options (WHERE 1=1) : 1.30ms
COUNT + SUM (aggregation) : 1.34ms
SELECT * ORDER BY timestamp LIMIT 10 : 1.34ms
SELECT * ORDER BY clicks DESC LIMIT 10 : 1.40ms
SELECT * by URL : 1.46ms
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment