我试图将FULLTEXT索引放入我的表格中。该表内容为300万条记录。使用Alter表语句或Create index语句插入该索引非常困难。因此,最简单的方法是创建新表和第一个添加索引并加载数据。如何将现有表数据加载到新创建的表中?我正在使用Xammp MySql数据库。
答案 0 :(得分:1)
我不知道为什么在现有表上创建全文索引会很困难。你这样做:
create fulltext index idx_table_col on table(col)
通常,向已加载的表添加索引比将数据加载到具有预定义索引的空表更快。
编辑:
您可以使用insert
执行加载。以下将插入前100,000行:
insert into newtable
select *
from oldtable
order by id
limit 0, 100000;
您可以将其置于循环中(通过MySQL中的存储过程或应用程序级别)。也许这会更快回归。每次运行它时,都会更改limit
中的偏移值。
我希望创建索引的总时间少于使用insert
,但为了您的目的,您可能会发现这更方便。
答案 1 :(得分:0)
INSERT INTO newTable SELECT * FROM oldTable;
创建新表和索引后。 这是为了要复制所有列。您也可以选择特定的列。