HomeMySQL What’s New In MySQL 4.1 Part One: Overview and Subqueries
What’s New In MySQL 4.1 Part One: Overview and Subqueries
The current release of MySQL, version 4.1.10, offers significant improvements over version 4. While it still has some room for improvement, its new features and capabilities should silence the critics who have up until now regarded it as little more than a toy. In this article, the first of two parts, David Fells covers scalar and correlated queries, derived tables, and row level subqueries.
Back in October of 2004, MySQL 4.1.7, the first production release of MySQL, was made available to the public. Like many other developers I had participated in testing MySQL 4.1 from the start, and eagerly awaited the day that the final release would be ready for production. With version 4, and especially version 4.1, MySQL has started to come of age. In this article we will cover all the big changes as well as most of the minor ones that have been seen in version 4 so far, up to and including the current release, 4.1.10.
For years it has been regarded as a toy by SQL Server, DB2 and Oracle afficionados, who pointed out the lack of support for advanced RDBMS features like views, triggers, stored procedures and subqueries. While there are still many features lacking in MySQL, nearly all of them are slated for releate in MySQL 5 – and version 4 does a considerable job closing the gap between fledgling small business database and mature enterprise database. It is true that, since version 3.23, MySQL has been a top contender for the best performance in a number of database benchmarks, largely due to its efficient use of indexes and incredible ability to optimize table joins. Without features like views and subqueries though, MySQL has left complex reporting tasks entirely to whatever host language is taking advantage of it – be it directly through PHP or via import into MS Excel.
MySQL 4.1 had three main focal areas with new features: subqueries and derived tables, character sets, and replication. In addition to these areas, there were many changes to improve standards compliance and portability; some functions were added, as well as some especially useful modifiers for typical statements.