This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
All, I've seen a lot of posts regarding mySQL. I've heard some things about mySQL and it all sounds good. I'm currently using Personal ORACLE on my notebook to do some development. This thing is a total memory hog! I have 512M of RAM on this baby (my notebook). Unfortunately, P. Oracle can eat up more than half of it. I can't believe my machine is swapping with 512M!!! These are the questions I have (more like concerns): 1. If I use mySQL, will it each up as much memory? 2. Nothing can eat up as much diskspace as ORACLE, but I'll ask anyway. Does mySQL require a lot of diskspace? 3. Is mySQL pretty robust? 4. Will the JDBC driver implementation for mySQL support JDBC 2.0 functionality? Thanks, -Peter
1) I have run MySQL on a PC with 64 meg of ram without any trouble. 2) The zip file was about 8 meg. Unzipped it is less than 20 meg. 3) I haven't had any problems with it. I know that some small-medium size companies are using it as their main database. 4) According to the Sun site, the MM.MySQL driver (which is the one I use) supports JDBC 2.x but it is in Beta. There are at least two other drivers supporting JDBC 2.x listed. The only problem I had was that the database doesn't support transactions.
MySQL is OK for playing around with JDBC. I wouldn't use it for any other purpose than personal development. If all you want is a small DB for playing around with then HSQLDB is a much smaller DB (their example is an 100k install).
MySQL is (in my opinion) not really a good choice for commercial uses though. The partial support for transactions has all ready been mentioned (InnoDB supports them in its newest version), there is also the problem that only the InnoDB engine supports foreign key constraints. MyISAM is the default, and MySQL allows you to generate DDL statements that specify FK consraints, but the DB engine doesn't actually implement them.