Known Limitations of MySQL Cluster
1524
and used as a “hidden” primary key. For this reason, you cannot define a table that has an explicit
AUTO_INCREMENT
column unless that column is also declared using the
PRIMARY KEY
option.
Attempting to create a table with an
AUTO_INCREMENT
column that is not the table's primary key,
and using the
NDB
storage engine, fails with an error.
• MySQL Cluster and geometry data types.
Geometry data types (
WKT
and
WKB
) are supported in
NDB
tables in MySQL 5.0. However, spatial
indexes are not supported.
17.1.5.2. Limits and Differences of MySQL Cluster from Standard MySQL Limits
In this section, we list limits found in MySQL Cluster that either differ from limits found in, or that are not
found in, standard MySQL.
Memory usage and recovery.
Memory consumed when data is inserted into an
NDB
table is not
automatically recovered when deleted, as it is with other storage engines. Instead, the following rules
hold true:
• A
DELETE
statement on an
NDB
table makes the memory formerly used by the deleted rows
available for re-use by inserts on the same table only. However, this memory can be made available
for general re-use by performing a rolling restart of the cluster. See
Section 17.5.5, “Performing a
Rolling Restart of a MySQL Cluster”
.
• A
DROP TABLE
or
TRUNCATE TABLE
operation on an
NDB
table frees the memory that was used by
this table for re-use by any
NDB
table, either by the same table or by another
NDB
table.
Note
Recall that
TRUNCATE TABLE
drops and re-creates the table. See
Section 13.1.21, “
TRUNCATE TABLE
Syntax”
.
• Limits imposed by the cluster's configuration.
A number of hard limits exist which are configurable, but available main memory in the cluster
sets limits. See the complete list of configuration parameters in
Section 17.3.2, “MySQL Cluster
Configuration Files”
. Most configuration parameters can be upgraded online. These hard limits
include:
• Database memory size and index memory size (
DataMemory
and
IndexMemory
, respectively).
DataMemory
is allocated as 32KB pages. As each
DataMemory
page is used, it is assigned to a
specific table; once allocated, this memory cannot be freed except by dropping the table.
See
Section 17.3.2.5, “Defining MySQL Cluster Data Nodes”
, for further information about
DataMemory
and
IndexMemory
.
• The maximum number of operations that can be performed per transaction is set using the
configuration parameters
MaxNoOfConcurrentOperations
and
MaxNoOfLocalOperations
.
Note
Bulk loading,
TRUNCATE TABLE
, and
ALTER TABLE
are handled as
special cases by running multiple transactions, and so are not subject to
this limitation.
• Different limits related to tables and indexes. For example, the maximum number of ordered
indexes in the cluster is determined by
MaxNoOfOrderedIndexes
, and the maximum number of
ordered inexes per table is 16.
• Memory usage.
All Cluster table rows are of fixed length. This means (for example) that if a table
has one or more
VARCHAR
fields containing only relatively small values, more memory and disk
space is required when using the
NDB
storage engine than would be the case for the same table
Summary of Contents for 5.0
Page 1: ...MySQL 5 0 Reference Manual ...
Page 18: ...xviii ...
Page 60: ...40 ...
Page 396: ...376 ...
Page 578: ...558 ...
Page 636: ...616 ...
Page 844: ...824 ...
Page 1234: ...1214 ...
Page 1427: ...MySQL Proxy Scripting 1407 ...
Page 1734: ...1714 ...
Page 1752: ...1732 ...
Page 1783: ...Configuring Connector ODBC 1763 ...
Page 1793: ...Connector ODBC Examples 1773 ...
Page 1839: ...Connector Net Installation 1819 2 You must choose the type of installation to perform ...
Page 2850: ...2830 ...
Page 2854: ...2834 ...
Page 2928: ...2908 ...
Page 3000: ...2980 ...
Page 3122: ...3102 ...
Page 3126: ...3106 ...
Page 3174: ...3154 ...
Page 3232: ...3212 ...