Showing entries 11 to 20 of 996
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: Performance (reset)
Handle CSV files with HeatWave MySQL

Efficiently loading CSV data into your MySQL environment is a crucial step for many analytical workloads, especially when dealing with the substantial datasets common in today's data-driven world. Both MySQL Shell's parallel import utility and HeatWave's Auto Parallel Load feature offer robust and effective solutions, each catering to slightly different needs and environments.

MySQL Shell's util.importTable provides a flexible and powerful way to import data from various sources, including local disks and OCI Object Storage, into your standard MySQL tables. It's a developer-friendly tool that offers granular control over the import process.

For those leveraging the analytical power of MySQL HeatWave, the sys.heatwave_load stored procedure, particularly with its Auto Parallel Load capabilities, simplifies the often complex task of getting data into the in-memory columnar store.

The post …

[Read more]
Benchmarking MySQL Server With mysqlslap: Estimating Capacity, Not Absolute Limits

When I’m working with MySQL, I care not just about whether a single query is slow, but how much total load the server can handle before performance starts to drop.

Tools like mysqlslap help by generating synthetic workloads to simulate multiple clients and measure the server’s Queries Per Second (QPS).

In this post, I’ll walk through a script I used to benchmark MySQL server performance with mysqlslap, and discuss when it makes sense to use it over more advanced tools like sysbench. I originally used this script in a blog post published at ReadySet: Vertical Scaling of MySQL vs. Horizontal Scaling with ReadySet.

Why Benchmark a MySQL Server?

Benchmarking gives a rough idea of how a MySQL server performs under …

[Read more]
My Slides from FOSDEM25 and Pre-FOSDEM Belgian Days 2025

As promised, my slides from FOSDEM25 and Pre-FOSDEM MySQL Belgian Days :

And since I was asked several times about MySQL test case demonstrating glibc-malloc memory fragmentation / leaks -- here are all the details :

Read more... (4 min remaining to read)

Why you should use compact table columns

Introduction In this article, I’m going to explain you should use compact table columns when designing your database schema. By using compact table columns, you can cache more table records and index entries and, therefore, speed up your SQL queries. Database caching As I explained in this article, relational database systems cache the pages that are loaded from the disk in the Buffer Pool (e.g., shared buffers in PostgreSQL) so that the next time the same page is requested by an SQL query execution, the page will be served from the memory... Read More

The post Why you should use compact table columns appeared first on Vlad Mihalcea.

MySQL Performance : Switching InnoDB REDO Threads=OFF/ON

In MySQL 8.0 we introduced a totally new design for InnoDB REDO Log management. The main difference was about implementing a lock-free solution for user threads, and use dedicated REDO threads for all background IO write work.

for more details, see an excellent and very detailed article by Pawel : https://dev.mysql.com/blog-archive/mysql-8-0-new-lock-free-scalable-wal-design/

However, over a time we also added an option to let users to switch REDO threads=OFF to enforce REDO log processing efficiency in some particular cases. Unfortunately this feature created a lot of confusions for MySQL users, and many ones interpreted this in different ways, providing different and sometimes opposite advices, etc..

My main advice will be always : test each feature yourself and within your …

[Read more]
An Efficient Way to Check for Existence of Multiple Values in SQL

In a previous blog post, we've advertised the use of SQL EXISTS rather than COUNT(*) to check for existence of a value in SQL. I.e. to check if in the Sakila database, actors called WAHLBERG have played in any films, instead of: SELECT count(*) FROM actor a JOIN film_actor fa USING (actor_id) WHERE a.last_name = … Continue reading An Efficient Way to Check for Existence of Multiple Values in SQL →

The Impacts of Fragmentation in MySQL

Fragmentation is a common concern in some database systems. Highly fragmented tables can affect performance and resource allocation. But reducing fragmentation often involves rebuilding the table completely. This blog post will discuss fragmentation and its impact on InnoDB.

What is fragmentation?

We say that something is fragmented when it is formed by parts that are separate or placed in a different order than the natural one. In databases, we can experiment with different types of fragmentation:

  • Segment Fragmentation: segments are fragmented; they are stored not following the order of data, or there are empty pages gaps between the data pages.
  • Tablespace Fragmentation: the tablespace is stored in non-consecutive filesystem blocks.
  • Table Fragmentation: data is stored not following the primary key order (heap tables), …
[Read more]
Improving Query Performance with Multi-Valued Indexing in MySQL 8.0

Learn how Multi-Valued Indexing in MySQL 8.0 can enhance query performance by efficiently indexing and querying JSON arrays. Discover the benefits, implementation steps, and considerations for optimizing your MySQL database.

  1. Multi-Valued Indexing in MySQL 8.0
  2. Understanding Multi-Valued Indexes and their benefits
  3. Creating Multi-Valued Indexes in MySQL …
[Read more]
Enhancing Performance with Parallel Index Rebuild in MySQL 8.0.31

Learn how the parallel index rebuild feature in MySQL 8.0.31 improves performance by optimizing index and column additions. Explore the multithreaded insert phase, sort index build process, and system configurations for enhanced efficiency.

  1. Understanding Sorted Index Build
    1. When does InnoDB use a sort index build approach?
  2. Phases of Sort …
[Read more]
Exploring Aurora serverlessV2 for MySQL Part 3

Explore the powerful features of Aurora Serverless V2 for MySQL in this informative blog series. Learn about read-only scaling, parameter support, and cost performance. Compare costs between Provisioned Aurora and Aurora Serverless V2. Discover key takeaways for optimizing your MySQL deployment on the cloud. Read now!

  1. Read-only Scaling
    1. Failover replicas
[Read more]
Showing entries 11 to 20 of 996
« 10 Newer Entries | 10 Older Entries »