MySQL Server 4.0 laid the foundation for new features implemented in MySQL 4.1, such as subqueries and Unicode support, which were desired by many of our customers.
MySQL Server 4.1 is currently in production status, and binaries are available for download at http://dev.mysql.com/downloads/mysql/4.1.html. All binary releases pass our extensive test suite without any errors on the platforms on which we test. See Section B.1, “Changes in Release 4.1.x (Production)”.
For those wishing to use the most recent development source for MySQL 4.1, we also make our Bazaar repositories publicly available. See Section 2.9.3, “Installing from the Development Source Tree”.
The following features were added in MySQL 4.1.
Support for subqueries and derived tables:
A “subquery” is a
SELECT
statement nested
within another statement. A “derived table”
(an unnamed view) is a subquery in the
FROM
clause of another statement. See
Section 12.2.8, “Subquery Syntax”.
Speed enhancements:
Faster binary client/server protocol with support for prepared statements and parameter binding. See Section 17.6.4, “C API Prepared Statements”.
BTREE
indexing is supported for
HEAP
tables, significantly improving
response time for nonexact searches.
Added functionality:
CREATE TABLE
allows
you to create, with a single statement, a new table with a
structure exactly like that of an existing table.
tbl_name2
LIKE tbl_name1
The 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:
The 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”.
NDBCLUSTER
is the storage
engine used by MySQL Cluster to implement tables that
are partitioned over many computers. See
Chapter 15, MySQL Cluster.
The 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”.
The CSV
storage engine stores data
in text files using comma-separated values format. See
Section 13.8, “The CSV
Storage Engine”.
The BLACKHOLE
storage engine
accepts but does not store data, and always returns an
empty result set. It is for use primarily in
replication. See
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.
SHOW WARNINGS
shows
warnings for the last command. See
Section 12.4.5.26, “SHOW WARNINGS
Syntax”.
Internationalization and Localization:
To support applications that require the use of local
languages, the MySQL software added extensive Unicode
support through the utf8
and
ucs2
character sets.
Definition of character sets by column, table, and database. This allows for 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, allowing individual clients to select their own time zones when necessary.
Usability enhancements:
The addition of a server-based
HELP
command 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
example, the help
command of the
mysql command-line client has been
modified to have this capability.
The improved client/server protocol allows multiple statements to be issued with a single call, and for returning multiple result sets. See Section 17.6.12, “C API Support for Multiple Statement Execution”.
The syntax INSERT ... ON DUPLICATE KEY UPDATE
...
was implemented. This allows 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.11, “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 B.1, “Changes in Release 4.1.x (Production)”.
User Comments
Add your own comment.