Remix.run Logo
No More Hidden Changes: How MySQL 9.6 Transforms Foreign Key Management(blogs.oracle.com)
27 points by ksec 4 days ago | 14 comments
evanelias 2 hours ago | parent | next [-]

Hidden changes indeed... I'm glad Oracle did a blog post about this, because otherwise it's largely missing from the MySQL documentation. This is really disappointing considering that 9.6 was released over two weeks ago, yet as of this moment:

* The new innodb_native_foreign_keys server variable has only two vague sentences describing its effect: https://dev.mysql.com/doc/refman/9.6/en/innodb-parameters.ht...

* The MySQL 9.6 release notes make no mention of foreign key changes whatsoever, nor of the innodb_native_foreign_keys variable: https://dev.mysql.com/doc/relnotes/mysql/9.6/en/news-9-6-0.h...

* The "What is New in MySQL 9.6" manual page is currently just a copy-and-paste of that page from MySQL 9.5, with all the "9.5"'s replaced with "9.6": https://dev.mysql.com/doc/refman/9.6/en/mysql-nutshell.html vs https://dev.mysql.com/doc/refman/9.5/en/mysql-nutshell.html

As an independent software vendor providing solutions focused on MySQL, honestly I find this situation to be deeply concerning.

I have heard that an Oracle exec made a lot of promises about renewed MySQL Community Edition attention at a pre-FOSDEM event a few days ago; can we take any of that seriously if even basic documentation updates are not occurring?

sc68cal 3 hours ago | parent | prev | next [-]

I think it's a good idea, as a decades long user of InnoDB. I hope that the work can be shared with other forks of MySQL

direwolf20 3 hours ago | parent | prev | next [-]

yeah but it's Oracle. You want MariaDB now.

HackerThemAll 2 hours ago | parent [-]

I prefer PostgreSQL. Don't see any advantage of MySQL/Maria.

evanelias an hour ago | parent | next [-]

A few major areas where MySQL/MariaDB excels:

Threaded connection model (no process spawning)

Undo-based MVCC (no need for vacuum)

InnoDB's use of a clustered index for PK (has pros/cons, but better for some workloads)

Ability to use alternative storage engines such as MyRocks (LSM based instead of B-tree; best-in-class compression)

Support for index hints (so query plans won't randomly change and bring your site down)

More mature logical replication (fully supports DDL, has no concept of limited "replication slots", etc)

That all said, there are also many areas where Postgres is better! Like all things in computer science, there are architectural trade-offs, and no single silver bullet is the best choice for all workloads.

waynesonfire 42 minutes ago | parent [-]

Your list confirms that MySQL is irrelevant to me.

direwolf20 33 minutes ago | parent | next [-]

Why act so snobbish about it? They're both cromulent databases. You should try doing one project with each. The converse of this list would tell the diehard postgres user that mariadb is irrelevant to him.

They have quite different internal design, this affects what features are possible. No clustered index in postgres for instance, and UPDATE can reorder rows, but it supports replication much better.

evanelias 37 minutes ago | parent | prev [-]

That's totally fine, there are many workloads where Postgres is the best choice! I'm not forcing you to use it, I was just responding to the comment upthread about lack of advantages. It's kind of bonkers that the anti-MySQL crowd is so rabid that any attempt to explain legitimate use-cases for MySQL is met with a barrage of downvotes, especially in a submission that is directly about MySQL specifically :/

dwedge an hour ago | parent | prev | next [-]

What do you see as advantages of postgres over mysql? I see these comments at work quite often and there isn't always much substance behind them

direwolf20 an hour ago | parent | prev [-]

Different concurrency model

exabrial 4 days ago | parent | prev [-]

I mean great, but there are 0 commits in 2026 Github for MySQL. I think pretty much everyone is planning a transition to MariaDB or Postgres.

MySQL is a beloved OSS product and project. Losing influence over that would be a massive mistake by Oracle.

Citation: https://github.com/mysql/mysql-server/commits/trunk/

harwoodr 3 hours ago | parent | next [-]

>It's because MySQL apparently does development in-house in a git repository and only occasionally pushes it to GitHub

https://optimizedbyotto.com/post/reasons-to-stop-using-mysql...

exabrial 3 hours ago | parent [-]

I saw that page, but interestingly enough I don't see that quote on there

earless1 2 hours ago | parent | prev [-]

https://www.percona.com/blog/separating-fud-and-reality-has-...

This has been debunked, they've never used Github as their main development area