A few weeks ago and in MySQL 5.7, I had an ALTER TABLE that failed with a duplicate entry error. This is old news as it is happening since MySQL 5.6, but I only saw this recently because I am normally using online schema change from the Percona Toolkit (pt-osc) or GitHub's online schema migration (gh-ost). I do not like that and I am disappointed this has not been improved, so this
In October 10th was released the latest GA version of MySQL: 8.0.27.
As usual, it’s highly advised to read the release notes to get informed about the changes and bug fixed.
MySQL is Open Source and each release contains contributions from our great Community. Let me thanks all the contributors on behalf of the entire MySQL Team: Thank you !
MySQL 8.0.27 includes contributions from Adam Cable, Lukasz
Sanek, Kaiwang Chen, Shaohua Wang,
Øystein Grøvlen, Zheng Lai, Huqing Yan, Biran Yue, Xiaoyu Wang,
Hong Wang,
Kevin Michel, Björn Michael, Kaige Ye, Yubao Liu and Facebook.
Once again, thank you all for your great contributions.
Here is the list of the above contributions and related bugs:
Clients / Connectors
- …
CSV or SQL? SQL or CSV? How about together? Without a doubt, CSV’s are one of the most common and familiar data interchange formats. Importing and exporting CSV data into or out of an SQL database is a staple process in most every data workflow. I’ve written numerous blog posts on both importing and exporting CSV data in an SQL environment. In this post, I am including all of these specific posts (as of the time of writing) in one easy-to-read and centralized location…
Image by xresch from …
[Read more]Well, let me say if that happens it’s because there is a logic mistake in your application. But you need to know and understand what happens in MySQL to be able to avoid the problem.
In short, the WHY of this article is to inform you about possible pitfalls and how to prevent them from causing you damage.
Let us start by having a short introduction to what Repeatable reads are about. Given I am extremely lazy, I am going to use (a lot) existing documentation from the MySQL documentation.
Transaction isolation is one of the foundations of database processing. Isolation is the I in the acronym ACID; the isolation level is the setting that fine-tunes the balance between performance and reliability, consistency, and reproducibility of results when multiple transactions are making changes and performing …
[Read more]Well, let me say if that happens because there is a logic mistake in your application. But you need to know and understand what happens in MySQL to be able to avoid the problem.
In short the WHY of this article is to inform you about possible pitfalls and how to prevent that to cause you damage.
Let us start by having a short introduction to what Repeatable reads are about. Given I am extremely lazy, I am going to use (a lot) existing documentation from MySQL documentation.
Transaction isolation is one of the foundations of database processing. Isolation is the I in the acronym ACID; the isolation level is the setting that fine-tunes the balance between performance and reliability, consistency, and reproducibility of results when multiple transactions are making changes and performing queries at the …
[Read more]Well, let me say if that happens because there is a logic mistake in your application. But you need to know and understand what happens in MySQL to be able to avoid the problem.
In short the WHY of this article is to inform you about possible pitfalls and how to prevent that to cause you damage.
Let us start by having a short introduction to what Repeatable reads are about. Given I am extremely lazy, I am going to use (a lot) existing documentation from MySQL documentation.
Transaction isolation is one of the foundations of database processing. Isolation is the I in the acronym ACID; the isolation level is the setting that fine-tunes the balance between performance and reliability, consistency, and reproducibility of results when multiple transactions are making changes and performing queries at the …
[Read more]As an example for my class on the usefulness of Common Table Expressions (CTEs), I created three examples with Python. They extend an exercise in Chapter 9 on subqueries from Learning SQL by Alan Beaulieu. All of the examples work with the sakila sample database.
These bullets describe the examples:
- Uses local variables and a range for loop and if statement that uses the variables to evaluate and add an element to the derived table (or query result set) from MySQL.
- Uses a CTE with substitution variables from the Python program, which eliminates the need to evaluate and add an element to the query result set because the query does that.
- Uses a table to hold the variables necessary to evaluate and add the element to the query result set.
This is the first Python program:
# Import the library. import sys import …[Read more]
Query planning is hard # Have you ever wondered what goes on behind the scenes when you execute a SQL query? What steps are taken to access your data? In this article, I'll talk about the history of Vitess's V3 query planner, why we created a new query planner, and the development of the new Gen4 query planner. Vitess is a horizontally scalable database solution which means that a single table can be spread out across multiple database instances.
On behalf of the Vitess maintainers, I am pleased to announce the general availability of Vitess 12. Major Themes # In this release, Vitess Maintainers have made significant progress in several areas, including Gen4 planner, VTAdmin, and other improvements. Please take a moment to review the Release Notes. Please read them carefully and report any issues via GitHub. Gen4 Planner # The newest version of the query planner, Gen4, becomes an experimental feature as part of this release.
Recently we published the first part of research comparing
Graviton (ARM) with AMD and Intel CPU on AWS. In the first
part, we selected general-purpose EC2 instances with the same
configurations (amount of vCPU). The main goal was to see
the trend and make a general comparison of CPU types on the AWS
platform only for MySQL. We didn’t set the goal to compare the
performance of different CPU types. Our expertise is in MySQL
performance tuning. We share research “as is” with all scripts,
and anyone interested could rerun and reproduce it.
All scripts, raw logs and additional plots are available on
GitHub: (2021_10_arm_cpu_comparison_c5, …