Bug #11646 Simple create table takes much longer using NDB then InnoDB
Submitted: 29 Jun 2005 20:40 Modified: 1 Jul 2005 6:19
Reporter: Jonathan Miller Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:5.1.0-wl2325-wl1354-new OS:Linux (Linux)
Assigned to: CPU Architecture:Any

[29 Jun 2005 20:40] Jonathan Miller
Description:
mysql> create table t1 (c1 int, c2 char(8), PRIMARY KEY (c1))engine=innodb;
Query OK, 0 rows affected (0.02 sec)

mysql> create table t2 (c1 int, c2 char(8), PRIMARY KEY (c1))engine=ndb;
Query OK, 0 rows affected (3.22 sec)

Think it speaks for itself.

How to repeat:
mysql> create table t1 (c1 int, c2 char(8), PRIMARY KEY (c1))engine=innodb;
Query OK, 0 rows affected (0.02 sec)

mysql> create table t2 (c1 int, c2 char(8), PRIMARY KEY (c1))engine=ndb;
Query OK, 0 rows affected (3.22 sec)
[1 Jul 2005 6:19] Martin Skold
Create table is a distributed operation in cluster (data dictionary in all nodes has to be
synchronized). Also NDB creates an extra ordered index for pk (pk is hashed), this is
also a distributed operation. You could compare with defining pk with USING HASH,
but it will still take longer on cluster due to communication costs not in InnoDB.