There are at least ten great engineers who've left my current company at least partially because of a single toxic individual.
Every one of them decided to be 'professional' to not 'burn bridges' and they did not name names. The toxic individual is still there. He is still incredibly powerful, and he is still destroying value left and right.
I really, really wish they'd named names. Right now management knows that they had ten undesirable voluntary terminations. They don't realize that they all have a single primary contributing factor. As such, there's no possible way the problem will get fixed.
Take responsibility for what you wrote. Here are some of your words, and the obvious implications:
> performance needs a very careful eye
Clearly implying that performance doesn't require a careful eye on MySQL. Which is utterly idiotic and wrong.
Though you've proven yourself sufficiently dishonest that I'm sure you'll pretend that you never implied any such thing.
You also wrote:
> makes it easy to do silly things, like turn off referential integrity in a slow query to boost performance.
Which is really misleading, because it ships with most of that stuff off. It's not possible to turn it off, it's HARD TO TURN IT ON.
Seriously. Try making MySQL treat your data the way you'd expect (always throwing errors in situations where something that's invalid by the SQL standard has happened). It's hard. And if you said 'just turn on strict mode', then you've clearly never tried to catch ALL of the edge cases.
MySQL is a horrible tool.
The only good thing about MySQL is that it's such a piece of shit that a whole generation of devs decided to try to experiment with NoSQL tools because they didn't understand the difference between 'things that suck about MySQL' and 'things that suck about SQL'. That ignorance has spawned some interesting projects.
I didn't put a single damned word in your mouth. You're just another pathetic little jerk who communicates stupid and wrong shit and then tries to use pedantry to pretend that you didn't do that.
Sorry bro, but you suck at logic, communication, and life. Peace.
This doesn't match my experience at all. MySQL performance is highly variable, and it's incredibly easy to write simple queries that have truly abysmal performance.
Postgres on the other hand, has always tended towards making things work well (a step that mysql often skips), and then work quickly thereafter.
A lot of MySQL acolytes say Postgres is slow because, unlike MySQL, it doesn't ship with unsafe defaults. MySQL doesn't just allow you to do dumb things, it starts off with many of those settings as the defaults.
To me, the real problem is that people likebarrkel exist. He doesn't know what he's on about, but he likes MySQL. Most of wheat he wrote is flatly false, but he said it confidently. And he's employed someplace that probably uses MySQL.
MySQL got adoption for two reasons:
1) it used to be easier to install; and
2) it has unsafe defaults that mean if an idiot runs a benchmark, it wins.
That's it. That's how it won market. After that, it was network effects, and nothing else. MySQL is a turd. It requires substantial expertise to use MySQL because it is such an awful and dangerous tool. It slows you down as you get better. But most of the people who use it don't know any better, or (like barrkel) they spew nonsense that is the opposite of reality. So it wins.
Except that this is not even slightly true. See: join performance, sub-query performance, etc.
> MySQL ships with referential integrity turned on - InnoDB is the default back end. Care to explain more?
This is... just wow. Wow. I can't even believe that you think 'Innodb is the default back end' == all integrity is present.
That's so wrong it's... we're not even having the same conversation. Wow. You're shockingly stupid, even for the Internet. Wow.