MySQL Cluster Configuration Files
1560
table, cannot be used by other tables.) Performing a node recovery also compresses the partition
because all records are inserted into empty partitions from other live nodes.
The
DataMemory
memory space also contains UNDO information: For each update, a copy of
the unaltered record is allocated in the
DataMemory
. There is also a reference to each copy in
the ordered table indexes. Unique hash indexes are updated only when the unique index columns
are updated, in which case a new entry in the index table is inserted and the old entry is deleted
upon commit. For this reason, it is also necessary to allocate enough memory to handle the largest
transactions performed by applications using the cluster. In any case, performing a few large
transactions holds no advantage over using many smaller ones, for the following reasons:
• Large transactions are not any faster than smaller ones
• Large transactions increase the number of operations that are lost and must be repeated in event
of transaction failure
• Large transactions use more memory
The default value for
DataMemory
is 80MB; the minimum is 1MB. There is no maximum size, but in
reality the maximum size has to be adapted so that the process does not start swapping when the
limit is reached. This limit is determined by the amount of physical RAM available on the machine
and by the amount of memory that the operating system may commit to any one process. 32-bit
operating systems are generally limited to 2–4GB per process; 64-bit operating systems can use
more. For large databases, it may be preferable to use a 64-bit operating system for this reason.
•
IndexMemory
Effective Version
Type/Units
Default
Range/Values
MySQL 5.0.0
bytes
18M
1M - 1T
Restart Type: N
This parameter controls the amount of storage used for hash indexes in MySQL Cluster. Hash
indexes are always used for primary key indexes, unique indexes, and unique constraints. Note
that when defining a primary key and a unique index, two indexes will be created, one of which is
a hash index used for all tuple accesses as well as lock handling. It is also used to enforce unique
constraints.
The size of the hash index is 25 bytes per record, plus the size of the primary key. For primary keys
larger than 32 bytes another 8 bytes is added.
The default value for
IndexMemory
is 18MB. The minimum is 1MB.
•
StringMemory
Effective Version
Type/Units
Default
Range/Values
MySQL 5.0.0
% or bytes
0
0 - 4G
Restart Type: S
This parameter determines how much memory is allocated for strings such as table names, and
is specified in an
[ndbd]
or
[ndbd default]
section of the
config.ini
file. A value between
0
and
100
inclusive is interpreted as a percent of the maximum default value, which is calculated
based on a number of factors including the number of tables, maximum table name size, maximum
size of
.FRM
files,
MaxNoOfTriggers
, maximum column name size, and maximum default column
value. In general it is safe to assume that the maximum default value is approximately 5 MB for a
MySQL Cluster having 1000 tables.
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 ...