我有一个三千万条记录的mysql表。
大约有20列,我将使用其中的15列插入到另一个表中。
现在我不能使用PHP加载这个大型数据集(选择3000万行并加载到内存中是不可行的),加载所有这些记录的最佳方法是什么?MySQL 5.X
我正在使用EMS连接到数据库。
发布于 2011-11-05 05:45:26
做一个INSERT INTO MySmallerTable SELECT Col1, col2, col3... FROM MyBiggerTable怎么样?
将其分解为多个INSERT可能是值得的
像这样:
INSERT INTO ... SELECT ... WHERE ID between 1 and 100000;
INSERT INTO ... SELECT ... WHERE ID between 100001 and 200000;
等。
发布于 2011-11-05 05:52:29
你可以做到的
INSERT INTO new_table (`col1`,`col2`,`col3`) SELECT `oldcol1`,`oldcol2`,`oldcol3`
FROM old_table LIMIT 0,100000并通过php循环重复(更改限制起始值)
发布于 2011-11-05 06:46:54
有几种方法可以包含上面提供的一个用户M_M。我没有用过EMS,不知道它能做什么,不能做什么。但我已经广泛地使用了Workbench。
一个。
使用simple INSERT INSERT into SOURCE_TABLE SELECT * from DESTINATION_TABLE,
B.
https://stackoverflow.com/questions/8016036
复制相似问题