The following features were added in MySQL 4.1.
Support for subqueries and derived tables:
Faster binary client/server protocol with support for prepared statements and parameter binding. See Section 17.6.7, “C API Prepared Statements”.
BTREE indexing is supported for
HEAP tables, significantly improving
response time for nonexact searches.
enables you to create, with a single statement, a new
table with a structure exactly like that of an existing
MyISAM storage engine added support
for OpenGIS spatial types for storing geographical data.
See Chapter 16, Spatial Extensions.
Support was added for replication over SSL connections.
Support for a number of additional storage engines was implemented in the MySQL 4.1 release series:
EXAMPLE storage engine is a
“stub” engine that serves as an example
in the MySQL source code for writing new storage
engines, and is primarily of interest to developers.
See Section 13.6, “The EXAMPLE Storage Engine”.
ARCHIVE storage engine is used
for storing large amounts of data without indexes in a
very small footprint. See
Section 13.7, “The ARCHIVE Storage Engine”.
CSV storage engine stores data
in text files using comma-separated values format. See
Section 13.8, “The CSV Storage Engine”.
BLACKHOLE storage engine
accepts but does not store data, and always returns an
empty result set. It is for use primarily in
Section 13.9, “The BLACKHOLE Storage Engine”.
These engine were implemented at different points in the development of MySQL 4.1. Please see the indicated sections for particulars in each case.
Standards compliance, portability, and migration:
The enhanced client/server protocol available beginning with MySQL 4.1.1 provides the ability to pass multiple warnings to the client, rather than only a single result, making it much easier to track problems that occur in operations such as bulk data loading.
Internationalization and Localization:
To support applications that require the use of local
languages, the MySQL software added extensive Unicode
support through the
ucs2 character sets.
Definition of character sets by column, table, and database. This enables a high degree of flexibility in application design, particularly for multi-language Web sites. See Section 9.1, “Character Set Support”.
Per-connection time zones support, enabling individual clients to select their own time zones when necessary.
The addition of a server-based
HELP statement that can be
used to get help information for SQL statements. This
information is always applicable to the particular server
version being used. Because this information is available
by issuing an SQL statement, any client can access it. For
help command of the
mysql command-line client has been
modified to have this capability.
The improved client/server protocol permits multiple statements to be issued with a single call, and for returning multiple result sets. See Section 17.6.15, “C API Support for Multiple Statement Execution”.
INSERT ... ON DUPLICATE KEY UPDATE
... was implemented. This enables you to update
an existing row if the insert would have caused a
duplicate value for a primary or unique index. See
Section 12.2.4, “INSERT Syntax”.
The aggregate function
GROUP_CONCAT(), added the
capability to concatenate column values from grouped rows
into a single result string. See
Section 11.15, “Functions and Modifiers for Use with GROUP BY Clauses”.
The News section of this manual includes a more in-depth list of MySQL 4.1 features. See Section C.1, “Changes in Release 4.1.x (Lifecycle Support Ended)”.