|
The major difference between release 3.23 and releases 3.22 and 3.21 is that
3.23 contains a new ISAM library (MyISAM), which is more tuned for SQL
than the old ISAM was.
The 3.23 release is under development, and things will be added at a
fast pace to it. For the moment we recommend this version only for
users that desperately need a new feature that is found only in this
release (like big file support and machine-independent tables). (Note
that all new functionality in MySQL 3.23 is extensively tested, but as
this release involves much new code, it's difficult to test everything). This
version should start to stabilise as soon as we get subselects included
in it.
-
ASC is now again default for ORDER BY .
-
Added
LIMIT to UPDATE .
-
New client function:
mysql_change_user .
-
Added character set to
SHOW VARIABLES
-
Added support of
--[whitespace] comments.
-
Allow
INSERT into table_name VALUES () '
-
Changed
SUBSTRING(text FROM pos) to conform to ANSI SQL. (Before this
construct returned the rightmost 'pos' characters).
-
SUM(..) with GROUP BY returned 0 on some system.
-
Changed output for
SHOW TABLE STATUS .
-
Added
DELAY_KEY_WRITE option to CREATE TABLE .
-
Allow
AUTO_INCREMENT on any key part.
-
Fixed problem with
YEAR(NOW()) and YEAR(CURDATE()) .
-
Added
CASE construct.
-
New function
COALESCE() .
-
Fixed range optimizer bug:
SELECT * FROM table_name WHERE
key_part1 >= const AND (key_part2 = const OR key_part2 = const) . The
bug was that some rows could be duplicated in the result.
-
Running
myisamchk without -a updated the index
distribution wrong.
-
SET SQL_LOW_PRIORITY_UPDATES=1 gave parse error before.
-
You can now update indexes columns that are used in the
WHERE clause.
UPDATE nom_table SET KEY=KEY+1 WHERE KEY > 100
-
Date handling should now be a bit faster.
-
Added handling of fuzzy dates (dates where day or month is 0):
(Like: 1999-01-00)
-
Fixed optimization of
SELECT ... WHERE key_part1=const1 AND
key_part_2=const2 AND key_part1=const4 AND key_part2=const4 ; Indextype
should be range instead of ref .
-
Fixed
egcs 1.1.2 optimizer bug (when using BLOB s) on Linux Alpha.
-
Fixed problem with
LOCK TABLES combined with DELETE FROM table .
-
MyISAM tables now allow keys on
NULL and BLOB/TEXT columns.
-
The following join is now much faster:
SELECT ... FROM t1 LEFT JOIN t2 ON ... WHERE t2.not_null_column IS NULL .
-
ORDER BY and GROUP BY can be done on functions.
-
Changed handling of 'const_item' to allow handling of
ORDER BY RAND() .
-
Indexes are now used for
WHERE key_column = function .
-
Indexes are now used for
WHERE key_column = column_name even if
the columns are not identically packed.
-
Indexes are now used for
WHERE column_name IS NULL .
-
Changed heap tables to be stored in low_byte_first order (to make it easy
to convert to MyISAM tables)
-
Automatic change of HEAP temporary tables to MyISAM tables in case of
'table is full' errors.
-
Added option
--init-file=file_name to mysqld .
-
COUNT(DISTINCT value,[value,...])
-
CREATE TEMPORARY TABLE now creates a temporary table, in its own
namespace, that is automatically deleted if connection is dropped.
-
New keywords (required for
CASE : CASE, THEN, WHEN, ELSE and END .
-
New functions
EXPORT_SET() and MD5() .
-
Support for the GB2312 Chinese character set.
-
Fixed some compilation problems.
|