Go to the first, previous, next, last section, table of contents.
-
Fully multi-threaded using kernel threads. That means that it easily can
use multiple CPUs if available.
-
C, C++, JAVA, Perl, Python and TCL API's. See section MySQL client tools and API's
-
Works on a lot of different platforms. See section Which operating systems does MySQL support?.
-
Lots of column types like: signed/unsigned integers 1,2,3,4 and 8 bytes
long,
FLOAT, DOUBLE, CHAR, VARCHAR,
TEXT, BLOB, DATE, DATETIME, YEAR,
SET and ENUM types. See section Column types.
-
Very fast joins using a optimised one-sweep multi-join.
-
Full function support in the SELECT and WHERE parts. Example:
select column1 + column2 from table where column1/column2 > 0
-
SQL functions are implemented through a very optimised class library and
should be as fast as they can get! Usually there shouldn't be any memory
allocation at all after the query initialisation.
-
Full support for SQL
GROUP BY and ORDER BY. Support for
group functions (COUNT, AVG, STD, SUM, MAX
and MIN).
-
Support for
LEFT OUTER JOIN with ANSI SQL and ODBC syntax.
-
One can mix tables from different databases in the same query (in 3.22).
-
A privilege and password system which is very flexible and secure. Allows
host based verification.
-
Secure passwords since all password traffic on the net is encrypted.
-
ODBC Open-DataBase-Connectivity for Windows95 (with source). All ODBC
2.5 functions and lots of others. So you can for example use Access to
connect to your MySQL server. See section ODBC
-
Very fast B-tree disk tables with index compression.
-
16 indexes/table. Each index may consist of 1 to 15 columns/parts of
columns. Max index length is 256 bytes (but may be changed when compiling
MySQL. An index may be a prefix of a CHAR field.
-
Fixed and variable length records.
-
In memory hash tables which are used as temporary tables.
-
Handles large databases (we are using MySQL with some
databases that contain 50,000,000 records).
-
All columns have default values. One can always use INSERT on any subset
of columns.
-
Uses GNU
autoconf for portability.
-
Written in C and C++. Tested with a broad range of different compilers.
-
A very fast thread-based memory allocation system.
-
No memory leaks. Tested with a commercial memory leakage detector
(
purify).
-
A very fast table check,optimize and repair utility. See section The MySQL table check, optimise and repair program
-
All data saved in ISO8859_1 format. All comparisons for normal string
columns are case insensitive.
-
Full ISO8859_1 (Latin1) support. For example Scandinavian едц is allowed
in table and column names.
-
Sorts by ISO8859_1 Latin1 (the Swedish way at the moment). It is
possible to change this in the source by adding new sort order
arrays. To see a example of a very advanced sorting, look at the Czeck
sorting code.
-
Alias on tables and columns as in the SQL92 standard.
-
DELETE, INSERT, REPLACE, and UPDATE returns
how many rows were affected.
-
Function names do not clash with table or column names. For example ABS
is a valid column name. The only restriction is that space is not
allowed between a function name and the '(' when using functions.
See section Is MySQL picky about reserved words?
-
All MySQL commands have
--help or -? for help.
-
The server currently supports error messages to clients in many
languages. See section Which languages are supported by MySQL?.
-
The clients use a TCP connection or Unix socket when connecting to the
MySQL server.
-
User commands as
show tables, SHOW INDEX FROM table and
show columns from table
Go to the first, previous, next, last section, table of contents.