Můžete použít CREATE TEMPORARY TABLE temp_table LIKE regular_table
, ale tím vytvoříte vše indexy, takže když provedete INSERT INTO temp_table SELECT * FROM regular_table
, indexy budou přestavěny – což může být zdlouhavé.
Nebo můžete vytvořit tabulku a přidat index později:
CREATE TEMPORARY TABLE temp_table
ALTER TABLE temp_table ADD FULLTEXT INDEX (foo,bar,baz)
INSERT INTO temp_table SELECT * FROM regular_table
ale index bude opět aktualizován při každém vložení.
Pravděpodobně nejúčinnějším způsobem by bylo vytvořit dočasnou tabulku, vložit vše a poté vytvořit index:
CREATE TEMPORARY TABLE temp_table
ALTER TABLE temp_table ADD FULLTEXT INDEX (foo,bar,baz)
ALTER TABLE temp_table DISABLE KEYS
INSERT INTO temp_table SELECT * FROM regular_table
ALTER TABLE temp_table ENABLE KEYS
Opět budete muset počkat, než se index sestaví, kromě toho, že se tak stane v jednom bloku, s posledním příkazem ALTER.