您可以使用CREATE TEMPORARY TABLE temp_table LIKE regular_table,但这将创建所有索引,因此当您执行INSERT INTO temp_table SELECT * FROM regular_table时,将重建索引 – 这可能很长.
或者,您可以创建表并在之后添加索引:
CREATE TEMPORARY TABLE temp_table
ALTER TABLE temp_table ADD FULLTEXT INDEX (foo,bar,baz)
INSERT INTO temp_table SELECT * FROM regular_table
但是,每次插入时都会更新索引.
可能最有效的方法是创建临时表,然后插入所有,构建索引:
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
同样,您将不得不等待索引构建,除非它将在最后一个ALTER语句的一个块中发生.