No Picture
InnoDB

Reading and Writing Blocks in InnoDB

InnoDB, the default storage engine in MySQL, uses a buffer pool to manage the reading and writing of data blocks. The buffer pool is a cache that holds frequently accessed data pages in memory, reducing […]

No Picture
PostgreSQL DBA

SQL/JSON patches committed to PostgreSQL 15!

PostgreSQL SQL/JSON: PostgreSQL continues evolving its support for modern data formats with each release. Notably, PostgreSQL 15 introduces significant improvements to handle JSON data more efficiently. These updates bring greater flexibility, performance, and ease of […]

No Picture
MySQL Internals

Streaming versus blocking operators in MySQL

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

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

How to gather statistics of PostgreSQL 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 […]