mysql> CREATE TABLE tab_MYISAM ( col1 enum('Y','N') NULL, col2 varchar(53) NULL, col3 char(6) NULL, col4 varchar(15) NULL, col5 bigint(20) NOT NULL, col6 enum('Y','N') NOT NULL, col7 enum('Y','N') NOT NULL, col8 varchar(100) NOT NULL, col9 enum('Y','N') NULL, col10 varchar(100) NULL, col11 enum('Y','N') NULL, col12 enum('Y','N') NULL, col13 bigint(20) NULL, col14 enum('Y','N') NULL, col15 enum('Y','N') NULL, col16 mediumint(9) NULL, col17 enum('Y','N') NULL, col18 enum('Y','N') NOT NULL, col19 enum('Y','N') NOT NULL, col20 int(11) NOT NULL, col21 int(11) NULL, col22 smallint(6), KEY Multi_Col_Index (col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15) )ENGINE = MYISAM; mysql> CREATE TABLE tab_INNODB ( col1 enum('Y','N') NULL, col2 varchar(53) NULL, col3 char(6) NULL, col4 varchar(15) NULL, col5 bigint(20) NOT NULL, col6 enum('Y','N') NOT NULL, col7 enum('Y','N') NOT NULL, col8 varchar(100) NOT NULL, col9 enum('Y','N') NULL, col10 varchar(100) NULL, col11 enum('Y','N') NULL, col12 enum('Y','N') NULL, col13 bigint(20) NULL, col14 enum('Y','N') NULL, col15 enum('Y','N') NULL, col16 mediumint(9) NULL, col17 enum('Y','N') NULL, col18 enum('Y','N') NOT NULL, col19 enum('Y','N') NOT NULL, col20 int(11) NOT NULL, col21 int(11) NULL, col22 smallint(6), KEY Multi_Col_Index (col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15) )ENGINE = InnoDB; INSERT INTO tab_MYISAM VALUES ('Y', 'test', 'key', 'test', 12334, 'Y', 'N', 'testing', 'Y', 'testing', 'Y', 'N', 12345, 'Y', 'N', 123, 'Y', 'N', 'Y', 234, 234, 1234); INSERT INTO tab_MYISAM ... mysql> INSERT INTO tab_MYISAM SELECT * FROM tab_MYISAM; Query OK, 98304 rows affected (20.82 sec) Records: 98304 Duplicates: 0 Warnings: 0 mysql> INSERT INTO tab_INNODB SELECT * FROM tab_MYISAM; Query OK, 196608 rows affected (14.78 sec) Records: 196608 Duplicates: 0 Warnings: 0 mysql> EXPLAIN Select col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15,sum(col16) Total From tab_MYISAM -> Group By col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15; +----+-------------+------------+------+---------------+------+---------+------+--------+---------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+------------+------+---------------+------+---------+------+--------+---------------------------------+ | 1 | SIMPLE | tab_MYISAM | ALL | NULL | NULL | NULL | NULL | 196608 | Using temporary; Using filesort | +----+-------------+------------+------+---------------+------+---------+------+--------+---------------------------------+ 1 row in set (0.00 sec) mysql> EXPLAIN Select col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15,sum(col16) Total From tab_INNODB Group By col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15; +----+-------------+------------+-------+---------------+-----------------+---------+------+--------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+------------+-------+---------------+-----------------+---------+------+--------+-------+ | 1 | SIMPLE | tab_INNODB | index | NULL | Multi_Col_Index | 317 | NULL | 196718 | | +----+-------------+------------+-------+---------------+-----------------+---------+------+--------+-------+ 1 row in set (0.00 sec) mysql> EXPLAIN Select col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15,sum(col16) Total From tab_MYISAM FORCE INDEX (Multi_Col_Index) Group By col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15; +----+-------------+------------+-------+---------------+-----------------+---------+------+--------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+------------+-------+---------------+-----------------+---------+------+--------+-------+ | 1 | SIMPLE | tab_MYISAM | index | NULL | Multi_Col_Index | 317 | NULL | 196608 | | +----+-------------+------------+-------+---------------+-----------------+---------+------+--------+-------+ 1 row in set (0.00 sec) mysql> mysql> ANALYZE TABLE tab_MYISAM; +----------------+---------+----------+----------+ | Table | Op | Msg_type | Msg_text | +----------------+---------+----------+----------+ | nil.tab_MYISAM | analyze | status | OK | +----------------+---------+----------+----------+ 1 row in set (0.18 sec) mysql> EXPLAIN Select col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15,sum(col16) Total From tab_MYISAM Group By col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15; +----+-------------+------------+------+---------------+------+---------+------+--------+---------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+------------+------+---------------+------+---------+------+--------+---------------------------------+ | 1 | SIMPLE | tab_MYISAM | ALL | NULL | NULL | NULL | NULL | 196608 | Using temporary; Using filesort | +----+-------------+------------+------+---------------+------+---------+------+--------+---------------------------------+ 1 row in set (0.00 sec) mysql>