Oracle 5.0 Reference Manual page 1581

Table of Contents

Advertisement

A value greater than
In MySQL 5.0, the default value is 100—that is, 100 percent of the default maximum, or roughly
5 MB. It is possible to reduce this value safely, but it should never be less than 5 percent. If you
encounter Error 773
parameter: Permanent error: Schema
value too low.
StringMemory
recurring in all but the most extreme conditions, as when there are hundreds or thousands of
tables with names whose lengths and columns whose number approach their permitted maximums.
The following example illustrates how memory is used for a table. Consider this table definition:
CREATE TABLE example (
a INT NOT NULL,
b INT NOT NULL,
c INT NOT NULL,
PRIMARY KEY(a),
UNIQUE(b)
) ENGINE=NDBCLUSTER;
For each record, there are 12 bytes of data plus 12 bytes overhead. Having no nullable columns saves
4 bytes of overhead. In addition, we have two ordered indexes on columns
10 bytes each per record. There is a primary key hash index on the base table using roughly 29 bytes
per record. The unique constraint is implemented by a separate table with
column. This other table consumes an additional 29 bytes of index memory per record in the
table as well 8 bytes of record data plus 12 bytes of overhead.
Thus, for one million records, we need 58MB for index memory to handle the hash indexes for the
primary key and the unique constraint. We also need 64MB for the records of the base table and the
unique index table, plus the two ordered index tables.
You can see that hash indexes takes up a fair amount of memory space; however, they provide
very fast access to the data in return. They are also used in MySQL Cluster to handle uniqueness
constraints.
Currently, the only partitioning algorithm is hashing and ordered indexes are local to each node. Thus,
ordered indexes cannot be used to handle uniqueness constraints in the general case.
An important point for both
sum of all data memory and all index memory for each node group. Each node group is used to store
replicated information, so if there are four nodes with two replicas, there will be two node groups. Thus,
the total data memory available is 2 ×
It is highly recommended that
nodes. Data distribution is even over all nodes in the cluster, so the maximum amount of space
available for any node can be no greater than that of the smallest node in the cluster.
and
DataMemory
IndexMemory
so can easily lead to a node or even an entire MySQL Cluster that is unable to restart due to there
being insufficient memory space. Increasing these values should be acceptable, but it is recommended
that such upgrades are performed in the same manner as a software upgrade, beginning with an
update of the configuration file, and then restarting the management server followed by restarting each
data node in turn.
Updates do not increase the amount of index memory used. Inserts take effect immediately; however,
rows are not actually deleted until the transaction is committed.
Transaction parameters.
because they affect the number of parallel transactions and the sizes of transactions that can be
MySQL Cluster Configuration Files
is interpreted as a number of bytes.
100
Out of string memory, please modify StringMemory config
(25 percent) is not excessive, and should prevent this error from
25
and
IndexMemory
DataMemory
and
DataMemory
can be changed, but decreasing either of these can be risky; doing
The next three
[ndbd]
1561
error, this means that means that you have set the
is that the total database size is the
DataMemory
for each data node.
be set to the same values for all
IndexMemory
parameters that we discuss are important
NDB
and
consuming roughly
a
b
as primary key and
b
a
example
as a

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mysql 5.0

Table of Contents