Some SQL statements relating to certain MySQL features produce
errors when used with NDB
tables,
as described in the following list:
Temporary tables.
Temporary tables are not supported. Trying either to
create a temporary table that uses the
NDB
storage engine or to
alter an existing temporary table to use
NDB
fails with the error
Table storage engine 'ndbcluster' does not
support the create option 'TEMPORARY'.
Indexes and keys in NDB
tables.
Keys and indexes on MySQL Cluster tables are subject to
the following limitations:
Column width.
Attempting to create an index on an
NDB
table column whose width is
greater than 3072 bytes succeeds, but only the first
3072 bytes are actually used for the index. In such
cases, a warning Specified key was too
long; max key length is 3072 bytes is
issued, and a SHOW CREATE
TABLE
statement shows the length of the
index as 3072.
TEXT
and
BLOB
columns.
You cannot create indexes on
NDB
table columns that
use any of the TEXT
or
BLOB
data types.
FULLTEXT
indexes.
The NDB
storage engine
does not support FULLTEXT
indexes,
which are possible for MyISAM
tables only.
However, you can create indexes on
VARCHAR
columns of
NDB
tables.
Prefixes.
There are no prefix indexes; only entire columns can
be indexed. (The size of an NDB
column index is always the same as the width of the
column in bytes, up to and including 3072 bytes, as
described earlier in this section. Also see
Section 15.1.4.6, “Unsupported or Missing Features in MySQL Cluster”,
for additional information.)
BIT
columns.
A BIT
column cannot be
a primary key, unique key, or index, nor can it be
part of a composite primary key, unique key, or index.
AUTO_INCREMENT
columns.
Like other MySQL storage engines, the
NDB
storage engine can
handle a maximum of one
AUTO_INCREMENT
column per table.
However, in the case of a Cluster table with no
explicit primary key, an
AUTO_INCREMENT
column is
automatically defined 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 datatypes (WKT
and
WKB
) are supported in
NDB
tables in MySQL
4.1. However, spatial indexes are not
supported.
Character set support. Not all charsets and collations are supported; see Section B.5.14, “Changes in MySQL Cluster-4.1.6 (10 October 2004)”, for a list of those that are supported.
Character set directory.
ndbd searches only the default path
(typically
/usr/local/mysql/share/mysql/charsets
)
for character sets. Thus, it is not possible to install
MySQL with Cluster support in a different path (in the
case of the .tar.gz
archives, other
than /usr/local/mysql
) if character
sets that are not compiled into the MySQL Server need to
be used.
User Comments
As of 5.1.23-ndb-6.3.8 two new session variables exist which allow NDB to create pseudo-temporary tables.
These tables will be visible to all user sessions and will be present until the cluster restarts.
ndb_table_no_logging=[1|0] controls weather tables created within that session will be REDO logged or checkpointed to disk. This makes the persistence of these NDB table behave similarly to MEMORY engine where are truncated on cluster restart.
ndb_table_temporary=[1|0] controls weather any schema file will be created in the cluster. This option behaves similarly to ndb_table_no_logging except that it will cause no schema file to be created, thus when the cluster restarts it will be completely removed.
Add your own comment.