MySQL 8.4 has now been officially released, and this is a quick review of what is in the release notes. This is momentous as it is designated a Long-Term Support (LTS) release. Various 8.0 releases introduced material changes that impacted speed and stability, causing hair-pulling and swearing among those affected. Please note this is a […]
Yesterday, MySQL 8.4, the very first LTS version of MySQL was released.
A lot of deprecations have finally been removed, and several InnoDB variable default values have been modified to match current workloads and hardware specifications.
The default value of 20 InnoDB variables has been modified!
Let’s have a look at those variables and explain the reason for such modification:
innodb_buffer_pool_in_core_file
Previous Value: | ON |
New Value (8.4 LTS): |
OFF if MADV_DONTDUMP is supported else ON |
MADV_DONTDUMP is a macro supported in Linux 3.4 and later, (“sys/mman.h” header file is present and contains the symbol MADV_DONTDUMP, a …
[Read more]Using the new support for MySQL HeatWave in Oracle Cloud Database Management, we can see what queries are executed when we run commands using MySQL Document Store. Keep reading to find out how.
This blog post illustrates how to use AutoML on MySQL Heatwave to train an optimized machine learning model to forecast crime
Vindex # Vitess uses Vindexes (short for Vitess Index) to associate rows in a table with a designated address known as Keyspace ID. This allows Vitess to direct a row to its intended destination, typically a shard within the cluster. Vindexes play a dual role: enabling data sharding through Primary Vindexes and facilitating global indexing via Secondary Vindexes. Through this mechanism, Vindexes serve as an indispensable tool for routing queries in a sharded database, ensuring optimal performance and scalability.
The Oracle Cloud Infrastructure (OCI) command line interface (CLI) allows users to manage OCI resources. In this post, we will discuss how to use the OCI CLI to create a MySQL HeatWave inbound replication channel.
If you're using MySQL, you likely have indexes that are powered by B-trees.The B-tree is a powerful data structure, and is frequently used to construct indexes in relational databases.If you are using the InnoDB storage engine, it is the only choice for your index, save for spatial indexes.However, MySQL has a secret weapon for making lookups with these types of indexes even faster: the Adaptive Hash Index, or AHI.Before jumping into how this works, let's take a few moments to review B-trees, the InnoDB buffer pool, and how these work together during index lookups. B-Tree indexes The B-tree data structure has been used by computer systems for decades.It is particularly useful in the context of file system and data storage applications, due to the fact that each node can store many values.This is useful in algorithms that interface with storage systems, as the size of each node can be set to work well with the unit(s) of storage, for example aligning …
[Read more]When talking about storage performance, we often hear three terms that are important in describing storage performance. They are
- bandwidth
- latency
- I/O operations per second (IOPS)
When you talk to storage vendors and cloud providers, they will gladly provide you with numbers on bandwidth and IOPS, but latency numbers will be hard to come by. To evaluate storage, especially for MySQL, you need just one number, and that is the 99.5 percentile commit latency for a random 16 KB disk write. But let’s start at the beginning.
The bandwidth of an IO subsystem is the amount of data it can read or write per second. For good benchmarking numbers, this is usually measured while doing large sequential writes. A benchmark would, for example, write and read megabyte sized …
[Read more]
A support question: Somebody had a WordPress installation, in
which a table had entries with an id
column that
contained multiple entries with 0
. The table was
supposed to undergo a schema change where id
becomes
an actual primary key, and auto_increment
. They
needed to find all rows WHERE id=0
and assign them
unique id
values.
Here is a test table:
mysql> create table b ( id integer not null, d varchar(255));
Query OK, 0 rows affected (0.25 sec)
kris> insert into b values (0, "1"), (0, "2"), (3, "3");
Query OK, 3 rows affected (0.06 sec)
Records: 3 Duplicates: 0 Warnings: 0
kris> select * from b;
+----+------+
| id | d |
+----+------+
| 0 | 1 |
| 0 | 2 |
| 3 | 3 |
+----+------+
3 rows in set (0.00 sec)
…
[Read more]Yes, but now it likes them more, and here is why. Intro Using the LIKE clause to filter triggers or views from a specific table is common. However, it can play a trick on you, especially if you don’t get to see the output (i.e., in a non-interactive session). Let’s take a look at a […]