The JusDB Database Engineering Blog

Deep dives on PostgreSQL, MySQL, MongoDB and more — performance tuning, high availability, migrations and production war stories from our DBAs.

51 canonical articlesBrowse the complete archive

Popular Searches

Database Performance Articles

← Clear filter

Showing 12 of 51 articles

PostgreSQL JSONB vs JSON: Indexing, Performance, and When to Use Each

A deep dive into PostgreSQL JSONB vs JSON storage formats, GIN and B-tree indexing strategies, containment operators, and the performance characteristics that determine which to use for document storage workloads.

PostgreSQL12 minFeb 14, 2023
Read

Redis Performance Tuning for High-Traffic Applications

Tune Redis from measured latency and memory behavior: bound command work, fix big and hot keys, choose eviction intentionally, and test persistence.

Redis7 minOct 25, 2022
Read

MySQL InnoDB Locking: Deadlocks, Gap Locks, and Next-Key Locks Explained

A deep dive into InnoDB locking — record locks, gap locks, next-key locks, how READ COMMITTED eliminates gap locks, diagnosing deadlocks with SHOW ENGINE INNODB STATUS and performance_schema, and prevention patterns.

MySQL14 minOct 12, 2022
Read

Save Space on MySQL Data with Column Compression: InnoDB Page Compression and ROW_FORMAT

MySQL InnoDB supports multiple compression strategies — from ROW_FORMAT=COMPRESSED to transparent page compression using punch holes. Choosing the right approach can cut storage by 40-70% for text-heavy workloads.

MySQL16 minOct 6, 2022
Read

Database Connection Pooling: PgBouncer, ProxySQL, and HikariCP Compared

A comprehensive guide to database connection pooling — comparing PgBouncer, ProxySQL, and HikariCP with configuration examples, pool mode trade-offs, and production sizing recommendations.

PostgreSQL12 minSep 27, 2022
Read

MySQL Connection Limits and Max Connections: Tuning for Scale

Understand MySQL max_connections, thread caching, and connection pool sizing to handle high-concurrency workloads

MySQL11 minSep 20, 2022
Read

MySQL EXPLAIN Explained: How to Read Query Plans and Fix Slow Queries

MySQL's EXPLAIN command reveals exactly how the query optimizer plans to execute your SQL — which indexes it will use, how many rows it expects to examine, and where it may sort or create temporary tables.

MySQL11 minSep 6, 2022
Read

MySQL Slow Query Log: Enabling, Analyzing with pt-query-digest, and Fixing the Top Patterns

A production guide to MySQL slow query log — enabling with long_query_time and log_queries_not_using_indexes, analyzing with pt-query-digest, reading EXPLAIN output, and fixing full table scans and N+1 loops.

MySQL12 minJul 19, 2022
Read

Descending Indexes in MySQL 8.0: When and How to Use Them

MySQL 8.0 finally supports true descending indexes — eliminating the filesort that MySQL 5.7 required when sorting results in descending order. Here's how descending indexes work and when to add them.

MySQL7 minJul 15, 2022
Read

PostgreSQL Performance Tuning: shared_buffers, work_mem, and Memory Configuration

A complete guide to PostgreSQL memory configuration and performance tuning, covering shared_buffers, work_mem, effective_cache_size, checkpoint tuning, and autovacuum settings that matter in production.

PostgreSQL12 minJul 12, 2022
Read

Top 10 MySQL Configuration Mistakes That Kill Performance

Avoid these common MySQL configuration mistakes that cripple performance. Learn proper buffer pool sizing, connection limits, and InnoDB settings for production workloads.

MySQL3 minJun 21, 2022
Read

PostgreSQL VACUUM Tuning: A Comprehensive Guide

Master PostgreSQL VACUUM and autovacuum configuration for optimal database health. Learn dead tuple management, bloat prevention, and vacuum optimization strategies.

PostgreSQL6 minJun 7, 2022
Read
Newsletter

Get the latest database insights and expert tips delivered to your inbox.

Stay Connected

Subscribe to our RSS feed for instant updates.

RSS Feed