Our test case: --------------------------------------------------------- set global internal_tmp_mem_storage_engine = TempTable; set global temptable_max_ram = 2097152; set global tmp_table_size = 2097152; set global temptable_use_mmap = OFF; create table t1 (c1 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c2 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c3 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c4 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c5 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c6 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c7 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c8 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c9 char(50) default 'AAAAAAAAAAAAAAAAAAAA',c10 char(50) default 'AAAA insert into t1 () values (); insert into t1 () values (); insert into t1 () values (); insert into t1 () values (); insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 () values (); insert into t1 () values (); insert into t1 () values (); insert into t1 () values (); insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; insert into t1 select * from t1; Our results (just the insert part) ------------------------------------------------------------------------- insert into t1 select * from t1; Query OK, 0 rows affected (0.04 sec) mysql> mysql> insert into t1 () values (); Query OK, 1 row affected (0.00 sec) mysql> mysql> insert into t1 () values (); Query OK, 1 row affected (0.00 sec) mysql> mysql> insert into t1 () values (); Query OK, 1 row affected (0.00 sec) mysql> mysql> insert into t1 () values (); Query OK, 1 row affected (0.00 sec) mysql> mysql> insert into t1 select * from t1; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 8 rows affected (0.00 sec) Records: 8 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 16 rows affected (0.01 sec) Records: 16 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 32 rows affected (0.00 sec) Records: 32 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 64 rows affected (0.00 sec) Records: 64 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 128 rows affected (0.00 sec) Records: 128 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 256 rows affected (0.09 sec) Records: 256 Duplicates: 0 Warnings: 0 mysql> mysql> mysql> insert into t1 select * from t1; Query OK, 512 rows affected (0.13 sec) Records: 512 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 1024 rows affected (0.03 sec) Records: 1024 Duplicates: 0 Warnings: 0 mysql> mysql> mysql> insert into t1 select * from t1; Query OK, 2048 rows affected (0.06 sec) Records: 2048 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 4096 rows affected (0.12 sec) Records: 4096 Duplicates: 0 Warnings: 0 mysql> mysql> mysql> insert into t1 select * from t1; Query OK, 8192 rows affected (0.25 sec) Records: 8192 Duplicates: 0 Warnings: 0 mysql> insert into t1 select * from t1; Query OK, 16384 rows affected (0.59 sec) Records: 16384 Duplicates: 0 Warnings: 0 mysql> mysql> mysql> mysql> insert into t1 select * from t1; Query OK, 32768 rows affected (1.19 sec) Records: 32768 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 65536 rows affected (2.55 sec) Records: 65536 Duplicates: 0 Warnings: 0 mysql> mysql> mysql> insert into t1 select * from t1; Query OK, 131072 rows affected (8.24 sec) Records: 131072 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 262144 rows affected (14.03 sec) Records: 262144 Duplicates: 0 Warnings: 0 mysql> mysql> mysql> mysql> insert into t1 select * from t1; Query OK, 524288 rows affected (51.03 sec) Records: 524288 Duplicates: 0 Warnings: 0 mysql> mysql> insert into t1 select * from t1; Query OK, 1048576 rows affected (3 min 58.33 sec) Records: 1048576 Duplicates: 0 Warnings: 0