Author: jstephens
Date: 2008-01-08 14:15:31 +0100 (Tue, 08 Jan 2008)
New Revision: 9511
Log:
OPTIMIZE TABLE supported for NDB tables beginning with CGE-6.3.7
(Thanks, Martin!)
Modified:
trunk/dynamic-docs/changelog/mysqld-1.xml
trunk/refman-5.1/mysql-cluster-cge.xml
trunk/refman-5.1/mysql-cluster-limitations.xml
trunk/refman-5.1/sql-syntax.xml
Modified: trunk/dynamic-docs/changelog/mysqld-1.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld-1.xml 2008-01-08 00:15:40 UTC (rev 9510)
+++ trunk/dynamic-docs/changelog/mysqld-1.xml 2008-01-08 13:15:31 UTC (rev 9511)
Changed blocks: 1, Lines Added: 50, Lines Deleted: 0; 1808 bytes
@@ -6,6 +6,56 @@
]>
<changelog>
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="OPTIMIZE TABLE"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>OPTIMIZE TABLE</literal> is now supported for
+ <literal>NDB</literal> tables, subject to the following
+ limitations:
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Only in-memory tables are supported.
+ <literal>OPTIMIZE</literal> still has no effect on Disk
+ Data tables.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Only variable-length columns are supported. However, you
+ can force columns defined using fixed-length data types to
+ be dynamic using the <literal>ROW_FORMAT</literal> or
+ <literal>COLUMN_FORMAT</literal> option with a
+ <literal>CREATE TABLE</literal> or <literal>ALTER
+ TABLE</literal> statement.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ Memory reclaimed from an <literal>NDB</literal> table using
+ <literal>OPTIMIZE</literal> is generally available to the
+ cluster, and not confined to the table from which it was
+ recovered, unlike the case with memory freed using
+ <literal>DELETE</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
<logentry entrytype="bug">
<tags>
Modified: trunk/refman-5.1/mysql-cluster-cge.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-cge.xml 2008-01-08 00:15:40 UTC (rev 9510)
+++ trunk/refman-5.1/mysql-cluster-cge.xml 2008-01-08 13:15:31 UTC (rev 9511)
Changed blocks: 2, Lines Added: 19, Lines Deleted: 8; 1941 bytes
@@ -761,6 +761,17 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ <literal>OPTIMIZE TABLE</literal> is supported for dynamic
+ columns of in-memory <literal>NDB</literal> tables. In
+ such cases, it is no longer necessary to drop (and
+ possibly to re-create) a table, or to perform a rolling
+ restart, in order to recover memory from deleted rows for
+ general re-use by Cluster. (MySQL 5.1.23-ndb-6.3.7)
+ </para>
+ </listitem>
+
</itemizedlist>
</para>
@@ -1140,38 +1151,38 @@
including MySQL 5.1.22-ndb-6.2.5.
</para>
</listitem>
-
+
<listitem>
<para>
<xref linkend="news-5-1-23-cge"/>:
</para>
-
+
<para>
Includes these changelogs:
-
+
<itemizedlist>
-
+
<listitem>
<para>
<xref linkend="news-5-1-23-ndb-6-2-10"/>
</para>
</listitem>
-
+
<listitem>
<para>
<xref linkend="news-5-1-23-ndb-6-3-7"/>
</para>
</listitem>
-
+
<listitem>
<para>
<xref linkend="news-5-1-23-ndb-6-3-8"/>
</para>
</listitem>
-
+
</itemizedlist>
</para>
-
+
<para>
These releases include all feature enhancements and bugfixes
made in MySQL 5.1 up to and including 5.1.22. MySQL
Modified: trunk/refman-5.1/mysql-cluster-limitations.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-limitations.xml 2008-01-08 00:15:40 UTC (rev 9510)
+++ trunk/refman-5.1/mysql-cluster-limitations.xml 2008-01-08 13:15:31 UTC (rev 9511)
Changed blocks: 4, Lines Added: 84, Lines Deleted: 1; 4113 bytes
@@ -383,7 +383,7 @@
<title>Memory usage and recovery</title>
<para>
- Memory comsumed when data is inserted into an
+ Memory consumed when data is inserted into an
<literal>NDB</literal> table is not automatically
recovered when deleted, as it is with other storage
engines. Instead, the following rules hold true:
@@ -426,6 +426,19 @@
rolling restart of the cluster. See
<xref linkend="mysql-cluster-rolling-restart"/>.
</para>
+
+ &mccge-warning-begin;
+
+ <para>
+ In MySQL 5.1.23-ndb-6.3.7 and later &mccge-series;
+ 6.3.<replaceable>x</replaceable> releases, this
+ limitation can be overcome using <literal>OPTIMIZE
+ TABLE</literal>. See
+ <xref linkend="mysql-cluster-limitations-resolved"/>,
+ for more information.
+ </para>
+
+ &mccge-warning-end-cluster;
</listitem>
<listitem>
@@ -993,6 +1006,18 @@
</para>
</formalpara>
+
+ &mccge-warning-begin;
+
+ <para>
+ In MySQL 5.1.23-ndb-6.3.7 and later &mccge-series;
+ 6.3.<replaceable>x</replaceable> releases, this limitation
+ has been lifted. See
+ <xref linkend="mysql-cluster-limitations-resolved"/>, for
+ more information.
+ </para>
+
+ &mccge-warning-end-cluster;
</listitem>
<listitem>
@@ -1847,6 +1872,64 @@
&mccge-warning-end-cluster;
</listitem>
+ <listitem>
+ &mccge-warning-begin;
+
+ <formalpara>
+
+ <title>Recovery of memory from deleted rows</title>
+
+ <para>
+ Beginning with MySQL 5.1.23-ndb-6.3.7, memory can be
+ reclaimed from an <literal>NDB</literal> table for reuse
+ with any <literal>NDB</literal> table by employing
+ <literal>OPTIMIZE TABLE</literal>, subject to the
+ following limitations:
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Only in-memory tables are supported; the
+ <literal>OPTIMIZE TABLE</literal> statement still
+ has no effect on MySQL Cluster Disk Data tables.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Only variable-length columns (such as those declared
+ as <literal>VARCHAR</literal>,
+ <literal>TEXT</literal>, or
<literal>BLOB</literal>)
+ are supported.
+ </para>
+
+ <para>
+ However, you can force columns defined using
+ fixed-length data types (such as
+ <literal>CHAR</literal>) to be dynamic using the
+ <literal>ROW_FORMAT</literal> or
+ <literal>COLUMN_FORMAT</literal> option with a
+ <literal>CREATE TABLE</literal> or <literal>ALTER
+ TABLE</literal> statement.
+ </para>
+
+ <para>
+ See <xref linkend="create-table"/>, and
+ <xref linkend="alter-table"/>, for information on
+ these options.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ </formalpara>
+
+
+ &mccge-warning-end-cluster;
+ </listitem>
+
</itemizedlist>
</para>
Modified: trunk/refman-5.1/sql-syntax.xml
===================================================================
--- trunk/refman-5.1/sql-syntax.xml 2008-01-08 00:15:40 UTC (rev 9510)
+++ trunk/refman-5.1/sql-syntax.xml 2008-01-08 13:15:31 UTC (rev 9511)
Changed blocks: 1, Lines Added: 13, Lines Deleted: 0; 950 bytes
@@ -17959,6 +17959,19 @@
created using any other storage engine, including
<literal>NDB</literal> Disk Data tables.
</para>
+
+ &mccge-warning-begin;
+
+ <para>
+ In MySQL 5.1.23-ndb-6.3.7 and later &mccge-series;
+ 6.3.<replaceable>x</replaceable> releases, <literal>OPTIMIZE
+ TABLE</literal> is supported for dynamic columns of in-memory
+ <literal>NDB</literal> tables. See
+ <xref linkend="mysql-cluster-limitations-resolved"/>, for more
+ information.
+ </para>
+
+ &mccge-warning-end-cluster;
<para>
For <literal>MyISAM</literal> tables, <literal>OPTIMIZE
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r9511 - in trunk: dynamic-docs/changelog refman-5.1 | jon | 8 Jan |