Go to the first, previous, next, last section, table of contents.
-
New keywords used: INTERVAL, EXPLAIN, READ, WRITE, BINARY
-
Added ODBC functions CHAR(num,...) and ASCII(string).
-
Removed function BETWEEN(a,b,c). One should use the standard ANSI SYNTAX:
expr BETWEEN expr AND expr.
-
New operator IN. This uses a binary search to find a match.
-
New command
LOCK TABLES table_name [AS alias] (READ | WRITE), ...
-
New server option
mysqld --log-update to get a log suitable for
incremental updates
-
new command: EXPLAIN SELECT ... to get info about how the optimzier
will do the join.
-
For easier client code, the client shouldn't anymore use
FIELD_TYPE_TINY_BLOB, FIELD_TYPE_MEDIUM_BLOB,
FIELD_TYPE_LONG_BLOB or FIELD_TYPE_VAR_STRING (as
previously returned by mysql_list_fields). One should instead only use
FIELD_TYPE_BLOB or FIELD_TYPE_STRING. If one wants exact
types one should use the command SHOW FIELDS .
-
Added varbinary syntax:
0x###### which can be used as a string
(default) or a number.
-
FIELD_TYPE_CHAR is renamed to FIELD_TYPE_TINY.
-
Changed all fields to C++ classes.
-
Removed FORM struct.
-
A field with a
DEFAULT doesn't have to be NOT NULL
anymore.
-
New field types:
ENUM
-
A string with only can take a couple of defined values. The value is
stored as a 1-3 byte number that automaticly is mapped to a string.
This is sorted according to string positions!
SET
-
A string with may have one or many string values separated with ','.
The string is stored as a 1,2,3,4 or 8 byte number where each bit stands
for a specific string. This is sorted according to unsigned value
of the stored packed number.
-
Now all function calculation is done with double or long long. This
will give one the full 64 bits range with bit functions and fix some
conversions that previously could give precision losses. One should
avoid using 'unsigned long long' columns with full 64 bits range
(numbers bigger than 9223372036854775807) because calculations is done
with signed long long.
-
ORDER BY will now put NULL fields first. GROUP BY will also work with NULL.
-
Full WHERE with expressions.
-
New range optimiser with can resolve ranges when some prefix keypart is
constant. Example:
SELECT * FROM table_name WHERE key_part_1="customer" and key_part_2 >= 10 AND
key_part_2 <= 10)
Go to the first, previous, next, last section, table of contents.