A few months ago, I was asking myself how to insert in two tables in a single round-trip to the database. I wanted to do that to optimize a process. My optimization involved splitting a table in two, which would need inserting in two tables atomically. The downside was changing an auto-commit INSERT to a transaction with two inserts, which was changing the shape of the workload
Inserting in Two Tables in a Single Round-Trip with JSON Duality Views in MySQL 9.7 appeared first on MariaDB.org
A few months ago, I was asking myself how to insert in two tables in a single round-trip to the database. I wanted to do that to optimize a process. My optimization involved splitting a table in two, which would need inserting in two tables atomically. The downside was changing an auto-commit INSERT to a transaction with two inserts, which was changing the shape of the workload from a single round-trip to the database to four: BEGIN, INSERT1, INSERT2, and COMMIT. I had no satisfying solution to that, I now have one: JSON Duality Views in MySQL 9.7.
I found that solution in Marcelo Altmann post JSON Duality Views in MySQL 9.7 — What you need to know. I will let you read Marcelo's post for the details.
The unsatisfying solutions I had were Stored Procedures and Triggers. Both are deploying application logic in the database, and this is not a line I cross lightly. I was thinking of a new INSERT syntax for solving this, but it was non-trivial (UPDATE and DELETE are possible on two tables). Now, I know of a better way in MySQL 9.7, and it makes this new version more appealing to me (before knowing this, I found both MySQL 8.4 and 9.7 very ordinary and not worth the upgrade, this now changed).
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Understanding InnoDB Tablespace Duplicate Check (MySQL Startup with Many Tables) | 0 | 4.76 | 19-11-2024 |
| 2 | InnoDB Tablespace Duplicate Check Threads (and EBS Volumes for MySQL Startup with Many Tables) | 0 | 7.41 | 03-12-2024 |
| 3 | Inside MySQL 9.7 LTS Features | 0 | 11.06 | 15-07-2026 |
| 4 | Long and Silent / Stressful MySQL Startup with Many Tables | 0 | 5.19 | 11-11-2024 |
| 5 | Do not uselessly grant CREATE and ALTER TABLE | 0 | 9.11 | 20-06-2026 |
| 6 | Running DuckDB as a MySQL 9.7 storage engine | 0 | 12.2 | 10-07-2026 |
| 7 | Replicating from InnoDB into a DuckDB storage engine | 0 | 5.51 | 13-08-2026 |
| 8 | MySQL 8.0.17 GTID Crash Safety Improvement | 0 | 9.21 | 04-08-2026 |
| 9 | DuckDB Speed on MySQL with dbtrail, Without a New Storage Engine | 0 | 10.5 | 26-08-2026 |
| 10 | Simple tool to build MariaDB commits for performance-change analysis | 0 | 6.98 | 18-06-2026 |