MySQL, Oracle, and SQL Server, differences?

[QUOTE=crazyjoe]
SQL Server DBA chiming in here. From my experience with MySQL, which is somewhat outdated, it was definitely not anything approaching an enterprise-level DB tool. It was a glorified file dump for storing data, and god forbid if you wanted your DBMS to perform typical DBMS functions (like say, adding or comparing dates) correctly. It all had to be handled by the front-end code.

[/QUOTE]

MySQL has had several date and time types and a bajillion date and time functions for nearly ten years.

[QUOTE=chrisk]
Hmm… could you post an example? Is it something that’s new??

And does it depend on what library you’re talking to oracle with and what your application language is written with??
[/QUOTE]
Example? Yes. New? No. Does it depend on library or language? No.

You would use ref cursors. (Note to Oracle programmers - the first place to check, if you have a question about Oracle, is Tom Kyte’s excellent website - also every Oracle programmer should own his book “expert one-on-one Oracle”).

Tom Kyte on the use of ref cursors

[QUOTE=crazyjoe]
Oracle was (and still is in many respects) a clunky powerhouse of a DBMS. It’s not an easy piece of software to leanr by any means, and because it’s so tedious, the DBAs tend to be cranky and anal.
[/QUOTE]
Now you’re really pissing me off. I’m not cranky and you spelled “learn” wrong.

[QUOTE=friedo]
MySQL has had several date and time types and a bajillion date and time functions for nearly ten years.
[/QUOTE]

Yes, and they haven’t always worked correctly. I’ll try to do a search and post a cite for this, but it was really silly things like if you added a day to 3/30, you oculd get 3/31 (or more obviously, adding 2 days to 2/28 could net you 2/30). MySQL was at best an unreliable place to put your data.

Ah, here it is: it’s a weblog which links to some of the “features” of MYSQL.

The post is a little ranty, but when you’re a DBA who has to deal with people asking you about their DB problems all day, and they’re in mysql, it can get frustrating.

[QUOTE=Arnold Winkelried]
Now you’re really pissing me off. I’m not cranky and you spelled “learn” wrong.
[/QUOTE]

He’s just jealous that you’re on “Oracle 12.2”. :wink:

Yeah, not even Microsoft can crank out versions faster than Oracle :slight_smile:

[QUOTE=Arnold Winkelried]
Now you’re really pissing me off. I’m not cranky and you spelled “learn” wrong.
[/QUOTE]

Well if vbulletin ran on a decent DBMS like SQL Server instead of MySQL, we could have a longer edit window :wink:

[QUOTE=crazyjoe]
Ah, here it is: it’s a weblog which links to some of the “features” of MYSQL.

The post is a little ranty, but when you’re a DBA who has to deal with people asking you about their DB problems all day, and they’re in mysql, it can get frustrating.
[/QUOTE]

That post is from 2003. MySQL has come a long, long way since then.

With regard to the “enterprise ability” of MySQL, it’s simply a fact that MySQL is used on an enterprise scale all the time. As someone else mentioned…wikipedia is a user. Slashdot, LiveJournal, Facebook, Digg, flickr, CNET, Friendster, and Craiglist all use. You can’t by any stretch imply that these are small applications for a small number of users. However, I’m not saying that it’s always the best choice.

As to the OP, the kid in your class is wrong–they are not “all the same” for real-world applications. However for the purposes of your class project, they might very well be the same. Heck, for a class project even a piece of worthless garbage like Microsoft Access would be suitable for the database. You’ll most likely not need any of the high-end features of whatever database you’ll use.

In the real world, you pick the database that suits your needs. If you’re doing a web application on a shared web host, it’ll probably be best to use MySQL or PostgreSQL because it’ll likely already be installed, and it’s free, and will more than likely do everything you need it to do.

If you’re doing an application at your company, and using Microsoft tools, it’ll be best to use SQL Server. The integration with Microsoft tools is top-notch, and it’s an excellent database. (But, I should point out…please NEVER consider using Microsoft Access).

If you’re a huge company and you require the best high-end, high-availability database, you’ll choose Oracle. It is simply the most powerful and capable database on the planet.

Since you’re entering IT, take my advice and learn them all.

[QUOTE=KRM]
He’s just jealous that you’re on “Oracle 12.2”.
[/QUOTE]

Whoops! 10.2 of course. I am so ashamed!

[QUOTE=crazyjoe]
Yeah, not even Microsoft can crank out versions faster than Oracle
[/QUOTE]

Another good reason for a DBA to choose Oracle: all these upgrades are good for job security.

[QUOTE=SiouxChief]
That post is from 2003. MySQL has come a long, long way since then.

[/quote]

Well, as I said, I haven’t familiarized myself with it in a long time. In this industry, you can live or die on your reputaion, and MySQL early on gave itself a reputation for not wanting to be an ANSI-compliant, enterprise level DBMS.

Look, people make stupid decisions ALL THE TIME. Show me some evidence that MySQL has addressed all or any of the complaints I listed, and I’ll happily recant (well, maybe not happily, how about sleepily?). But just because some random fools on the web use a piece of technology doesn’t mean it’s a good DBMS. They could be using it for what it IS good for…a fast filesystem. But it is not a robust, useful DBMS. And slapping a pseudo SQL interface on it does not make it so.