No Picture
MySQL Internals

MySQL Streaming Versus Blocking Operators Explained

In MySQL, operators in a query execution plan can be classified as streaming or blocking. This classification is based on how they process and propagate rows during query execution. Let’s explore the differences between streaming […]
No Picture
MySQL Internals

InnoDB Redo Performance: Troubleshooting Tips and Tricks

Troubleshooting redo performance in InnoDB involves identifying and addressing potential bottlenecks or issues that affect the efficiency of redo log processing. The redo log plays a critical role in ensuring data durability and crash recovery […]
No Picture
MySQL Internals

MySQL Scalar Subquery Unnesting transformation

Scalar subquery unnesting is a transformation technique that the MySQL optimizer uses to optimize queries involving scalar subqueries. Scalar subqueries return a single value. You typically use them in expressions or as part of the […]
No Picture
PostgreSQL Performance

PostgreSQL Statistics: How to Gather Them Only When Stale

In PostgreSQL, you can gather statistics only when they become stale by using the pg_stat_statements extension along with the track_activity_query_size configuration parameter. Follow these steps to achieve this: CREATE EXTENSION pg_stat_statements; 3. Query the pg_stat_statements […]
No Picture
PostgreSQL Internals

PostgreSQL SQL Plans: Why They Change for the Worse

In PostgreSQL, several reasons can cause SQL statement plans to worsen over time. These changes may lead to decreased query performance and unexpected behavior. Below are some common factors that contribute to deteriorating SQL statement […]