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.
Popular Searches
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.
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.
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.
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.
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.
MySQL Connection Limits and Max Connections: Tuning for Scale
Understand MySQL max_connections, thread caching, and connection pool sizing to handle high-concurrency workloads
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.
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.
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.
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.
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.
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.
Get the latest database insights and expert tips delivered to your inbox.
Subscribe to our RSS feed for instant updates.
RSS Feed