Comparing MySQL Performance 362
An anonymous reader writes "With the introduction of the 2.6 Linux kernel, FreeBSD 5-STABLE, Solaris 10, and now NetBSD 2.0, you might be wondering which of them offers superior database performance.
These two articles will show you how to benchmark operating system performance using MySQL on these operating systems so you can find out for yourself if you're missing out. While this may not necessarily be indicative of overall system performance or overall database application performance, it will tell you specifically how well MySQL performs on your platform."
postgres (Score:4, Insightful)
Re:postgres (Score:5, Informative)
MySQL vs PostgreSQL (Score:4, Informative)
That is a very good question, I don't know why has it been moderated as off-topic. Naturally it is useless to compare MySQL performance to MySQL performance ignoring any other options. (It is essentially the same tactic Micro$oft is doing all the time! Do we really want to parrot them?) First of all, there are MySQL gotchas [sql-info.de] and PostgreSQL gotchas [sql-info.de], so you have to know whether the particular glitches are acceptable for you before you decide to use either RDBMS. Understanding the relational algebra [wikipedia.org], set theory [wikipedia.org] and predicate calculus [wikipedia.org] is essential to understand what the relational model [wikipedia.org] is all about. Lack of this knowledge often leads to confusing tuples [wikipedia.org] with OOP [wikipedia.org]-style objects [wikipedia.org] and other stupidity, so you will save a lot of time learning it first.
Now, the performance. Generally speaking MySQL is faster for a heavy load of simple read-only queries (like Slashdot) while PostgreSQL is faster for complex read-write queries (like a bank). Once you turn on the ACID support in MySQL it is no longer so fast, and it can really crawl because of row or even table (sic!) locking, a mistake avoided for decades by any advanced database. Here is another comparison [summersault.com]. See also this recent thread [slashdot.org] on Slashdot. One of the best comparisons of Oracle, MySQL and PostgreSQL was done by the Computer division of Fermilab [fnal.gov] (Fermi National Accelerator Laboratory [fnal.gov]), this is a must-read.
There is a lot to read about it [google.com] if you need more comarisons, but the general rule of thumb is that if you want lots of very simple read-only and very few read-write queries when the integrity of your data is not critical, you should probably choose MySQL. When you need that (or better) speed but the data is critical and you need ACID [wikipedia.org] transactions which would severly slow down MySQL, try SQLite [sqlite.org], the easiest choice there is, especially using Perl [cpan.org] where you don't even need to install it (but just like with every other database, there are SQLite gotchas [sqlite.org] too, you need to be aware of them). If you need full ANSI SQL compatibility, ACID transactions, scalability and your data integrity is important, you should probably choose Oracle or PostgreSQL. There are also licensing issues. Oracle is proprietary. MySQL is GPL so you need to pay if you want to use it in any non-GPL software. PostgreSQL is released under a free-for-all BSD license. SQLite is public domain.
As you can see, there is no one-size-fits-all database. Every one has its strengths and weaknesses. The correct choice is a matter of trade-offs and finding out which database is optimal for your particular niche. Good luck.
Re:MySQL vs PostgreSQL (Score:2)
I find it quite amazing how dozens of companies I know have no clue about mySQL licensing. They think everything one finds on a Linux install CDs is free.
While it's unlikely mySQL.com will ever squeeze these guys into paying up, it's funny to see all those bozos thinking they've living in compliance.
Re:MySQL vs PostgreSQL (Score:3, Informative)
As long as you don't redistribute it, doing whatever you want with a GPL program is safe..
Re:MySQL vs PostgreSQL (Score:2)
Thanks for the wonderfully written post!
What about Firebird? (Score:2)
What about the Firebird [firebirdsql.org] relational database?
Evans Data [evansdata.com] says it is the best, in a survey done for 2005, but copyrighted 2003. (I'm uncertain how much they should be trusted.)
Re:What about Firebird? - good point (Score:4, Interesting)
Good point. "Firebird is a relational database offering many ANSI SQL-92 features" [emphasis added] PostgreSQL "supports SQL92 and SQL99" [emphasis added]. "New code modules added to Firebird are licensed under the Initial Developer's Public License. (IDPL). The original modules released by Inprise are licensed under the InterBase Public License v.1.0. Both licences are modified versions of the Mozilla Public License v.1.1." On the other hand, "PostgreSQL is released under the BSD license." Other than that they are mostly comparable, so you have risen a very good point. If you don't need standard SQL support and the license is acceptable, Firebird is a very good option.
Re:What about Firebird? - good point (Score:4, Informative)
Firebird implements standard SQL. Firebird supports full SQL92 and most SQL99, according to the project website.
Re:MySQL vs PostgreSQL (Score:5, Interesting)
License correction on MySQL (Score:5, Interesting)
you glossed over the fact that MySQL is now dual licensed. This DOES have repercussions. The GPL version can only be used by GPL software OR as a special exception. The special exception is made for PHP (and maybe others). If you are a Bank and choose MySQL you have to BUY a license.
I wonder how much there is to the MySQL great for websites (many read, few write) and the PHP license exception.
MySQL 4+ is not the MySQL that we all came to know and love in the 3.x days. Previously, I used MySQL 3.x but when I needed to upgrade, I moved to PostgreSQL because of the new license alone.
Let me re iterate my take. PHP license allows you to make commercial websites with it. MySQL allows its GPL license to be used with PHP regardless of purpose of the PHP scripts by special exception. Had there been no special exception, we'd have seen the downfall of MySQL and the upshoot of PostgreSQL or SQLite.
As a user/admin of all 3, I find that you can either use PostgreSQL or get away with using SQLite. Incedentally, try using SQLite with SQLRelay [sourceforge.net] if you need network access for SQLite.
What no Windows benchmarks? (Score:5, Funny)
Re:What no Windows benchmarks? (Score:3, Interesting)
Re:What no Windows benchmarks? (Score:4, Interesting)
Certainly, XP (also 2K, 2K3) would have been an interesting comparison. OSX, however, is out of the question - all of the others ran on exactly the same hardware, a dual 1GHz PIII system. The point of the test was to see operating differences, without the hardware being a factor.
Of course, it would be possible to run the tests on the same Mac under OSX, Linux and any other OS available for that platform. That might have been interesting, but you wouldn't be able to compare the results directly to those from the PIII system.
-- Steve
Re:What no Windows benchmarks? (Score:2)
You could also compare netbsd/darwin/linux between x86 and ppc systems to get some idea of the performance differences between the 2 architectures.
XP isn't a server operating system (Score:2)
Re:XP isn't a server operating system (Score:2, Informative)
You can't just fire a MySQL benchmark at SQL Server, though, and expect it to perform well. SQL Server is much less of a SELECT engine than MySQL; you need to use different paradigms, notably heavy use of stored procedures and functions.
Oracle is the middle ground - it performs very well if you program to its own model or not.
That's all well and good, but... (Score:5, Insightful)
Re:That's all well and good, but... (Score:4, Informative)
or even more likely, a moot argument
Re:That's all well and good, but... (Score:3, Funny)
Re:That's all well and good, but... (Score:5, Funny)
So you think. It's all the rage now to have technial meetings where nobody speaks and all arguments are made through pantomime. I'm sure that's what he's talking about.
My favorite thing to explain that way is an elevator algorithm, although stochastic fair queueing is a close second.
Re:That's all well and good, but... (Score:3, Funny)
Re:That's all well and good, but... (Score:3, Funny)
Still not be able to afford a cup of their coffee?
Re:That's all well and good, but... (Score:3, Insightful)
--
Evan
Re:That's all well and good, but... (Score:2)
Re:That's all well and good, but... (Score:3, Informative)
mmm - performance (Score:3, Informative)
if anyone finds the study/test, post a link?
Tuning on FreeBSD (Score:5, Informative)
Make sure FreeBSD has DMA turned on as well, and make CFLAGS somthing other than a 486.
All of the *BSD are *VERY VERY* conservative and will do a lot better when properly configured.
Re:Tuning on FreeBSD (Score:5, Interesting)
Something like shared memory, which is used for sorting, caching, and hashes, would slow a database down quite a bit if there was not enough.
I work with multi-terabyte databases daily, and by my observation, the flavor of UNIX is irrelevant if the IPC resources are adequate. When you're scanning a gig from disk, all DMA, an extra second in the kernel doesn't count in the O().
Re:Tuning on FreeBSD (Score:5, Interesting)
Nevertheless, this is a very good benchmark conducted in a fair manner. I was pretty much surprised at how the guy lacking support (from Solaris no less) went on to find out by himself how to increase performance. This also underlies the point made by many in the "netbsd vs. free" benchmarK about the focus of FreeBSD being SMP in the past few years ... which has payed off nicely it seems.
Re:Tuning on FreeBSD (Score:3, Informative)
-Dom
Re:Tuning on FreeBSD (Score:2)
Would you mind posting your tunings? Or, e-mail them to cjsnell on the gmail.com.
Chris
If TFA gets slashdotted, these are his conclusions (Score:5, Informative)
Both Linux 2.4 and 2.6 had the strongest showing overall for these tests, dominating just about every benchmark no matter the workload. Scalability for both kernels was also excellent with addition of an extra processor. In fact, I was surprised how well 2.4 had done, as I had somewhat expected 2.6 to show at least a noticeable, if slight, increase over 2.4. Instead, they took turns besting each other from test to test -- and in scalability -- for a fairly even overall showing.
Solaris 10 had a very strong showing as well, having great speed as well as great scalability. I think the results show that Solaris 10 is a great platform for MySQL. Of course, I didn't have Super Smack results as I couldn't get Super Smack to port to Solaris (as detailed in the previous article), so bear that in mind.
NetBSD 2.0 also had a very strong showing, although it was tarnished by two issues. One, MySQL on NetBSD 2.0 doesn't scale with the addition of CPUs. The results would seem to indicate that it might be wise to run a uniprocessor kernel even if two processors are available. The other issue was the poor I/O performance for the 10M row SysBench test. The SMP scalability issue is easy to understand since, to be fair, this is the first NetBSD release to support multiple processors. The I/O issue is more of a mystery, however.
FreeBSD 5.3 did relatively well in both KSE and linuxthreads mode, although with all the work that's been done in the SMP and threading realms, I was a little disappointed with the results. Still, it seems that the native threading model for the production release of FreeBSD-5 is ready for prime time, and can replace the long-standing FreeBSD convention of using linuxthreads with MySQL.
For FreeBSD 4.11, however, linuxthreads definitely helped with performance (and in many cases outperformed FreeBSD 5.3). With libc_r, performance lagged far behind linuxthreads for many tests, and there was little scalability. I would say it's highly advisable to build your FreeBSD 4.11 MySQL binary with linuxthreads.
For all the time it took, I think the tests were worth it. I learned quite a bit about MySQL performance in general, and I'd like to again thank Peter Zaitsev for his methodology recommendations and input, as well as Jenny Chen from Sun for her input.
Did you even read the article? (Score:2)
From the article:
In the next article, I'll present the results for all six operating systems.
Re:Did you even read the article? (Score:3, Funny)
Re:If TFA gets slashdotted, these are his conclusi (Score:3, Informative)
Re:NewsForge == OSDN == Slashdot (Score:2)
Why do people use MySQL over Postgres? (Score:4, Insightful)
Is it just MySQL is slightly easier to setup?
Re:Why do people use MySQL over Postgres? (Score:2, Insightful)
So MySQL became the popular open-source database.
Re:Why do people use MySQL over Postgres? (Score:5, Informative)
Re:It's the cutsie name (Score:2)
same reason people use windows (Score:4, Insightful)
Re:Why do people use MySQL over Postgres? (Score:3, Insightful)
Re:Why do people use MySQL over Postgres? (Score:3, Informative)
I'm sorry, but how does MySQL's popularity lead to people using sub-queries in place of joins? It's only with MySQL 4.1 which was only recently released that decent sub-query support even existed in MySQL. As for the comment about indexes, it's been possible to specify exactly which indexes a query sho
Re:Why do people use MySQL over Postgres? (Score:2)
Regarding referential integrity, I'm not sure why you think MySQL is sub-par, but InnoDB tables seem to behave sanely for what I'm using them for.
Re:Why do people use MySQL over Postgres? (Score:2)
From there on in there is a certain amount of built in momentum that is hard to stop. Just look at the tactics that Microsoft resorted to, in order to overcome the momentum that Netscape had.
Re:Why do people use MySQL over Postgres? (Score:3, Informative)
When I measured MySQL and PostgreSQL on very simple databases, MySQL was faster (slightly faster on reading, waaaaaay faster on writing). Since most things people need a database for just requires simple databases, MySQL wins on performance in most applications.
Re:Why do people use MySQL over Postgres? (Score:2)
I'd be interested to see some benchmark results. I doubt that is true for highly concurrent UPDATEs. And you also failed to mention whether you were using MyISAM or InnoDB.
I think that databases should be benchmarked based on the application, not a set of queries.
Also, you should take into account concurrency, since that usually matters when performance matters.
Re:Why do people use MySQL over Postgres? (Score:2, Informative)
Re:Why do people use MySQL over Postgres? (Score:3, Insightful)
Re:Why do people use MySQL over Postgres? (Score:5, Insightful)
The first and second answers are inertia. All of my tools work with MySQL and I'd have to spend a week or two re-writing them for PostgresSQL, and I can't shake loose that kind of time right now.
Also, I have a set of redundant, mirrored MySQL servers in my colo box that run all of the websites I've built, and I'd have to get more rack space or convert everything over to Postgres at the same time. Neither of which are cost effective when what I have
The third answer is that MySQL is blazingly fast at doing simple things. Where Oracle (The other RDBMS that I'm familiar with) can return simple select queries or complex insert or joined select queries in
I don't need to have "good habits"
What it comes down to is that it works well as a lightweight database for websites and web apps, and there's a ton of community support and literature. It's not Oracle. It never will be. It's not useful for everything. But when you need a lightweight database to handle a ton of simple select queries without melting down,
Say what? (Score:5, Informative)
If Oracle is taking
Your 'code library' sounds an awful lot like what stored procedures tend to be useful for - presenting a stable external 'API' for accessing the database. If the database changes internally, you just change the stored procedures, and all applications using these procedures carry on as normal.
I don't need to have "good habits"
Uh huh.
I agree completely that you don't need to 'swat a fly with a sledgehammer' and some applications genuinely only do need a simple database with a few simple tables.
But good habits come in useful, particularly if circumstances change and you have to scale up rapidly - your website becomes massively more popular, your HR application suddenly needs to incorporate new features, whatever. And in any case MySQL has been getting a lot more advanced database features lately, so it's no harm to know them. They might just come in handy.
Re:Why do people use MySQL over Postgres? (Score:4, Funny)
As an exercise of motor skills.
Re:Why do people use MySQL over Postgres? (Score:3, Insightful)
slashdot enterprise quality? my shit is more enterprise quality
Re:Why do people use MySQL over Postgres? (Score:3, Insightful)
and ISPs are the driving force behind a lot of what is widely deployed.
this is one of the same reasons PHP won out over everything else -- because it integrates easily and because it's easy to manage. not because it's "the best" designed language or the most powerful.
mysql is "good enough",
Re:Why do people use MySQL over Postgres? (Score:2)
Most jobs you need tools which are "good enough". Hang on - isn't this one of the reasons that MS win out? It also gives the uber-geeks something to sneer about.
Re:Why do people use MySQL over Postgres? (Score:4, Informative)
It's even simpler in PostgreSQL. In the psql client shell:
psql=# CREATE USER bar PASSWORD 'password';
psql=# CREATE DATABASE foo OWNER=bar;
Or, use the equivalent on the Unix shell:
# createuser --pwprompt bar
# createdb --owner=bar foo
All of the expected privileges are automatically granted on the foo database to user bar, since bar is its owner!
Re:Why do people use MySQL over Postgres? (Score:2)
Re:Why do people use MySQL over Postgres? (Score:2, Interesting)
Re:Why do people use MySQL over Postgres? (Score:2)
Perhaps there's room for a simple embedded database that allows you to filter the results easily? I think SQLite might fit this description.
If you're making a "DB agnostic" application (by which I mean you just dumb the application down so that it doesn't use any relational features), I think it's a better idea to just bundle SQLite and then it doesn't matter what database they have.
Personally, I usually have several applications accessing the same data set, so I use an RDBMS for that (
Re:Why do people use MySQL over Postgres? (Score:2)
Why replicate database functionality when you don't have to? Esp if there a good chance there's a server in widespread use, probably already installed, available? Same thing goes for text file parsers. If you're going to store, transmit or import text files it makes sense to use XML. There's no point in wasting time, effort and encouraging engin
Re:Why do people use MySQL over Postgres? (Score:2)
Yeah I can see how such gneralization would be *ahem* stupid
b/w is cheap, disk space is cheap, ram is cheap, cpu time is cheap, developer time well maybe not so much. If one is looking at a problem and the solution seems to be text files then non of
Re:Why do people use MySQL over Postgres? (Score:2)
So if I get hit by a truck, all accumulated data is right there, easily accessible even before my replacement has figured out my horrid code.
It scales. They've put a lot of working into making it easy to complexify your data structures as you need to. That's work I don't want to do, and especially don't want to wish I had done 3 years ago.
If I want to do some little thing, I can do it painlessly in any language I want, because someone else h
The only thing worse than your 80th DB argument... (Score:2)
As someone who develops on PG, Mysql, Oracle and several other DBs, let me just say that if you're so wrapped up with your RDMBS that you react like that, you should really take up jogging, get a dog, start doing heroin, or something.
Christ on a cracker, some geeks are more of a downer than condom breakage. Coding is supposed to be fun.
Re:Why do people use MySQL over Postgres? (Score:3, Informative)
Re:Why do people use MySQL over Postgres? (Score:5, Informative)
What are you talking about ? Postgresql has supported unicode for at least 4 years that I know of, probably more. You will need to create the database to support unicode.
From the man page:
createdb - create a new PostgreSQL database
...
-E encoding
--encoding encoding
Specifies the character encoding scheme to be used in this database.
--encoding UNICODE will work only if the support is compiled in
- configure the database as
% configure --enable-multibyte=UNICODE
Re:Why do people use MySQL over Postgres? (Score:2)
Useless Benchmarks (Score:4, Informative)
FreeBSD's GENERIC kernel config is for i486. If he'd commented out two lines, he could've tested for i686, which is what a P3 is. As it is, these benchmarks aren't helpful at all, because the optimizations assume a machine inferior to what's actually being used. He failed to eliminate enough variables for these to be meaningful.
Re:Useless Benchmarks (Score:4, Insightful)
That NetBSD performed worse than FreeBSD for disk IO is really strange. I have never seen this happen in any of the machines I've tried both on (hint: a lot), so either he has a very exotic disk controller which isn't supported properly (weird) or there's a disturbance in the force. Members of the mailing lists are talking it over with him now, and a follow-up should arrive eventually.
I would have liked to see results of FreeBSD 5-STABLE too, because he compared a refined Linux and a solid NetBSD to a FreeBSD release that was deemed not-ready-for-benching-let-alone-production on day 0, which gave it little chance. It's interesting to see if the claims 5.4 will be much better hold water.
Re:Useless Benchmarks (Score:2)
I would argue that a stock Linux kernel given out with an unfortunate binary distribution wouldn't have features that do make a difference. Many skimp on things like local APICs (for interrupt routing), add on SMP (which is slower on UP), and root knows what else. He configured a Linux from scratch and would NOT have made it ge
use windows! (Score:5, Funny)
Well, at least thats what Microsoft told me...
Different filesystems? (Score:4, Insightful)
I might just be naive, but doesn't database performance depend a lot more on filesystem than OS?
Re:Different filesystems? (Score:2, Informative)
Re:Different filesystems? (Score:4, Funny)
Mac OS X. (Score:3, Insightful)
Of course in order to do that he would have to install the OSes on a PPC machine and I don't think freebsd on PPC is ready for prime time yet.
How relevant are those benchmarks (Score:5, Insightful)
Difference among OS should be pretty much unimportant unless one's an ISP or big enterprise. I would choose the OS based on completely different criteria:
1) Existing skillset (advantage to existing skills)
2) Existing deployed OS (advantage to OS already deployed)
3) My company's OS strategy (advantage to the OS and the CPU platform we chose to standardize on)
4) Existing software (if I already have X vendor's backup agent for mySQL on Linux or database tuning tools, I wouldn't use BSD just to (potentially) gain an extra 5% in some ludicrous benchmark result).
Today's hardware (and operating systems) are so cheap that it's almost irrelevant what OS and hardware goes into many a project.
Look at the new HP's 25p and 35p blades (Opteron-based) - a 2 processor 1GB RAM version is just some $1,700 more expensive than a 1 processor 512MB RAM version.
It's easy to lose that $1,700 in downtime, spend it on a Windows engineer's new RHCE or such...
Re:How relevant are those benchmarks (Score:2)
In my experience Linux is MUCH easier to keep running than Windows.
Windows administration relies on far too many "black magic" registry tweaks. In order to make adjustments in many cases, you need to set obscure registry entries that are usually only known through rumor and hearsay. (If you can fix it at all.) Every place I have worked with a mixed environment, the Windows admins spent more time fixing and patching and tuning to
Re:How relevant are those benchmarks (Score:3, Interesting)
And your second coment depends on the organisation, a lot of strongly-microsoft shops work the way you describe, and only use unix for jobs where window
Procedural problem with NetBSD multiprocessor (Score:5, Informative)
See the message thread titled "NetBSD performance" at http://software.newsforge.com/article.pl?sid=04/12 /27/1243207 [newsforge.com]: an anonymous reader asks "Did you enable PTHREAD_CONCURRENCY? You have to set that variable to the number of CPUs in your system, else you won't be able to run more than one thread at a time, even you have more than one...". He replies "Sunofa. The $PTHREAD_CONCURRENCY environment variable wasn't set, as I had no idea it was an option. ...
It could very well be the issue. In the next few days I'll re-run the NetBSD tests with that set."
Missing option (Score:5, Interesting)
Re:Missing option (Score:2)
We use MySQL on a G5 xserve. Performance hasn't been a problem for us, but we haven't really stress tested it yet. We also use MySQL on two of our Suns (V210 Dual 1.25 [sun.com]) and it has been rock solid and extremely fast on both machines. We stress tested Apache2 on the xserve and it fell apart before the V210... so I'm going to say that the v210 is probably a better mysql box than the xserve as well.. but the xserve is $1000 cheaper.
FWIW, mysql says that the most *stable* platforms fo
Solaris 10 -- the *good* x86 Solaris (Score:4, Interesting)
databases ? where ? (Score:2, Interesting)
MySQL may be fast, because its features are so limited. Sure, it stores and retrieves records, but its partial implementation of SQL (without subqueries etc) and blatant bugs that violate SQL (try inserting '123456' into a varchar(4) column, it will silently truncate to '1234' instead of giving a 'Inserted value too large for column' error) make it useless for anything reliable.
If 'fast' is
Amazing (Score:5, Insightful)
God guys get over it, MySQL is here and it has actually proven itself to be usefull. Yes its missing features and has issues, but it fills the niche it is aimed at.
Impressed with Solaris (Score:4, Interesting)
These benchmarks show that at least with mySql its pretty fast, but more importantly look at the solaris benchmarks, they are nearly identically consistent across all test, where others vary much.
Ive always kinda thought of Solaris as a 4 wheel drive truck in low range, but it looks like they added a turbo
Comparing MySQL to PostgreSQL (Score:3, Interesting)
FreeBSD still compiles with DEBUG and assertions (Score:4, Informative)
It was foolish, in my opinion, to keep this in the release. I wonder, how many points the OS lost in the benchmarks because of it...
MySQL had better be fast - price increase (Score:3)
(Yeah, I'm looking hard at Postgres now.)
Re:MySQL had better be fast - price increase (Score:3)
Re:MySQL had better be fast - price increase (Score:3, Informative)
For that price you still don't get support. We pay for licenses because we ship MySQL as part of a commercial software package.
Read this: http://www.mysql.com/company/legal/licensing/ [mysql.com]
Gentoo From Scratch??? (Score:4, Insightful)
If the box was built from source, I would expect that Linux benchmarks would be higher simply because the kernel, libraries, and applications were most likely tuned to the hardware. Otherwise, I would like to see RedHat, or SUSE, or other "out of the box" distros in addition to the others.
Just my $0.02
Re:Other Benchmarking (Score:2)
Then even on the heap side [e.g. libc] is fairly standard if you use GNU libc.
Things like file performance [or network] do vary because different OSes offer different storage algorithms [e.g. JFS vs Reiser vs Ext2 vs
Tom
Re:Other Benchmarking (Score:5, Funny)
Try: You'll need a stopwatch.
Re:Other Benchmarking (Score:2)
Re:Other Benchmarking (Score:2)
Re:Slashdotted too soon (Score:2)
Re:Slashdotted too soon (Score:2)
Hee-haw! Hee-haw!
Wikipedia (Score:4, Informative)
Re:Huh (Score:2)
Certainly you have read the documentation [mysql.com] and noted their standpoint on compliance. It's a question of choice and that's all yours..
Re:Why are we even doing this? (Score:2)
And it's terrible for that. People should use firebird it has much better SQL compliance.