如何将大量数据集加载到新创建的表中?

时间:2014-11-30 17:30:05

标签: mysql sql full-text-search full-text-indexing

我试图将FULLTEXT索引放入我的表格中。该表内容为300万条记录。使用Alter表语句或Create index语句插入该索引非常困难。因此,最简单的方法是创建新表和第一个添加索引并加载数据。如何将现有表数据加载到新创建的表中?我正在使用Xammp MySql数据库。

2 个答案:

答案 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;

创建新表和索引后。 这是为了要复制所有列。您也可以选择特定的列。