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
pg_stat_statements: Query Performance Analysis in PostgreSQL
How to use pg_stat_statements to identify slow queries, analyze execution stats, and optimize PostgreSQL performance
5 Surprising Truths About Database Performance
Five counterintuitive database performance truths every engineer gets wrong — over-indexing costs, N+1 queries, connection pool sizing, replica reads, and EXPLAIN limitations.
Online DDL in TiDB: Non-Blocking Schema Changes for Distributed SQL
TiDB performs schema changes online without blocking reads or writes — using a distributed DDL queue across TiDB nodes. Here's how it works and how to monitor DDL jobs in production.
MySQL JSON Column Performance: Indexing, Querying, and Schema Design Trade-offs
Understand when MySQL JSON columns help and hurt performance. Learn functional indexes, JSON_TABLE, and when to migrate JSON to normalized columns.
AWS DMS Performance Tuning: Zero-Downtime Database Migration at Scale
AWS DMS can migrate terabytes of data with zero downtime — but default settings leave significant performance on the table. Here's how to tune DMS for production-grade migrations.
MySQL InnoDB Buffer Pool: Deep Dive into Pages, Chunks, and Eviction
Master InnoDB buffer pool internals: page management, chunk allocation, LRU algorithm, and tuning strategies for maximum cache efficiency.
PostgreSQL Extensions Guide: pg_stat_statements, pg_trgm, pg_cron, and More
Survey essential PostgreSQL extensions: pg_stat_statements for query analysis, pg_trgm for fuzzy search, pg_cron for scheduled jobs, pg_buffercache for cache inspection.
MySQL Optimizer Hints: INDEX, JOIN_ORDER, and MAX_EXECUTION_TIME
Guide MySQL query execution with optimizer hints. Covers INDEX, NO_INDEX, JOIN_ORDER, MAX_EXECUTION_TIME, and query block naming for subquery hint targeting.
PostgreSQL CTEs and Recursive Queries for Hierarchical Data
Use PostgreSQL CTEs and recursive queries for category trees, graph traversal, and complex aggregations. Covers MATERIALIZED vs NOT MATERIALIZED and cycle prevention.
MySQL 8.0 Window Functions: ROW_NUMBER, LAG, LEAD, and Running Totals
Master MySQL 8.0 window functions for analytical queries. Covers ROW_NUMBER, RANK, LAG/LEAD for period comparison, running totals with SUM OVER, and NTILE quartiles.
MySQL InnoDB Redo Log Tuning: Sizing for Production Write Throughput
The InnoDB redo log default of 100MB is dangerously undersized for production. Learn to measure your write throughput, size innodb_redo_log_capacity correctly, and monitor checkpoint pressure before write stalls occur.
PostgreSQL WAL Configuration: fsync, synchronous_commit, and Checkpoint Tuning
Tune PostgreSQL 18 WAL and checkpoints without weakening crash safety: understand commit modes, measure checkpointer deltas, and validate archive recovery.
Get the latest database insights and expert tips delivered to your inbox.
Subscribe to our RSS feed for instant updates.
RSS Feed