Back in October 2004 MySQL 4.1 was announced as being the officially ready for production. I’ve got a new MySQL install to do so I wanted to take the time to go through the new features in more detail. There are all sorts of good things in 4.1:
- GIS: Although I’ve never done any development using GIS, it has always fascinated me. One of those things on my list of things to do 🙂
- Unicode: If you’ve got to deal with funky characters, you’ve got to have this.
- New Windows Install: I’ve run MySQL on Windows before, but only for development.
- Prepared Statements: Looks like just this is just a first step, later versions are supposed to support query plan caching for better performance.
- Temporal Functionality: More time zone options and finer grained time resolution.
- Subqueries (Sub-Selects): I can’t tell you how much I’ve wanted this in MySQL. This one feature is almost enough for me to make MySQL 4.1 the minimum version for some projects.
There is also on article on other little features. Some of these are pretty cool:
- Better help
- ‘ON DUPLICATE KEY UPDATE’ is an interesting short cut, it makes an INSERT more intelligence without having to do additional queries.
- ‘GROUP BY … WITH ROLLUP’ is great! This provides you with the ability to get row sums right out of a SQL query. I wonder what it take to get this ability added to PostgreSQL?
- A few handy new functions: COMPRESS(), UNCOMPRESS(), GROUP_CONCAT(), VARIANCE(), CRC32() and UUID().
These aren’t all of the new features, but these stood out to me. MySQL is obviously focusing on more of the traditional (read: Oracle) SQL database functionality that they’ve avoided for so long. It’s good to see, it will certainly make some of my projects that make use of MySQL much easier.