MySQL 4.1.7, the first 4.1 release for production use, is now available
Version 4.1 of the MySQL server includes many enhancements and new features. Binaries for this version are available for download at http://dev.mysql.com/downloads/mysql-4.1.html.Download
* Subqueries and derived tables (unnamed views). See section 14.1.8 Subquery Syntax.
* INSERT ... ON DUPLICATE KEY UPDATE ... syntax. This allows you to UPDATE an existing row if the insert would cause a duplicate value in a PRIMARY or UNIQUE key. (REPLACE allows you to overwrite an existing row, which is something entirely different.) See section 14.1.4 INSERT Syntax.
* A newly designed GROUP_CONCAT() aggregate function. See section 13.9 Functions and Modifiers for Use with GROUP BY Clauses.
* Extensive Unicode (UTF8) support.
* Table names and column names now are stored in UTF8. This makes MySQL more flexible, but might cause some problems upgrading if you have table or column names that use characters outside of the standard 7-bit US-ASCII range. See section 2.5.2 Upgrading from Version 4.0 to 4.1.
* Character sets can be defined per column, table, and database.
* New key cache for MyISAM tables with many tunable parameters. You can have multiple key caches, preload index into caches for batches...
* BTREE index on HEAP tables.
* Support for OpenGIS spatial types (geographical data). See section 19 Spatial Extensions in MySQL.
* SHOW WARNINGS shows warnings for the last command. See section 14.5.3.21 SHOW WARNINGS Syntax.
* Faster binary protocol with prepared statements and parameter binding. See section 21.2.4 C API Prepared Statements.
* You can now issue multiple statements with a single C API call and then read the results in one go. See section 21.2.9 C API Handling of Multiple Query Execution.
* Create Table: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table2 LIKE table1.
* Server based HELP command that can be used in the mysql command-line client (and other clients) to get help for SQL statements.