YourSQL not mine
I have been a PostgreSQL user for quite some time and it hasn't failed me on most of the basic and advance features that I expect to get from it, whether I write client software in Java or in C, the results are consistent. Before then, I have a "weak" argument that MySQL is weak. Because I only scratched the surface of it and didn't do a lot of thorough testing. This MySQL, by default, has failed on a lot of things compared to Postgresql point by point even on some minor things. Some of the things I noticed are:
- Lousy way of granting permissions
- The autocommit functionality can break the most generic JDBC code that is supposed to support multiple databases
- Tables are case-sensitive, unless you're a diehard Windows genius, you're not going to notice this.
- The interactive command-line interface is so crude. It's nothing compares to PostgreSQL
- So some silly asshats will ask me "Why would you use a CLI when there's a lot of GUI tools for MySQL?", even that sucks too. And what if the only available thing to you is an SSH access without X? Then you're dead in the middle.
- The
PreparedStatement.executeUpdate()
does not return the right value for the rows affected, I am wondering what's the big deal why this thing can't be fixed since Postgresql, Oracle and other "production-grade" databases can handle it. Just simply returning the right value is very important for debugging and information purposes.
These are just a few things that I can remember after my fury died out. I am not going to the argument of "you don't know shit" or "read the fucking manual" stuff. By all virtues of a good database, out of the box, everything must work fine, just like Postgresql or even Thunderbird. In the end, I have deduced so far, that those who are so in love with this database are merely Windows users, that are writing apps which are even simpler than a candy store application.
Comments
Just like J2EE compliancy, there's a lot of J2EE-compliant application servers out there, are they all good?
Before you vent, do your further testing. And by the way, you already took my criticism seriously by posting here.
The JDBC specs requires only that a driver should comply according to it. But at the performance or operational level, it's a different story altogether. It should work RIGHT the first time.
There might be some issues in MySQL Administration but then its a DBA's work and not of a developer's. But then same is true for all the DBs whether its Oracle or MySQL. And MySQL is the easyiest of all the DBs to install.
Ofcourse, there is *no harm* in refering to manual once in a while, after all u r in an industry where u have to keep urself updated all the times. OK la :)
The sad thing is, whatever flaws that you might point out with MySQL, it seems to be gaining ground and being championed by the F/OSS-leveraging enterprises (ie IBM). Look at LAMP.
I just hope it is not that too flaky.