我有一个3000万条记录的mysql表。
有大约20列我将使用15列插入另一个表。
现在我无法使用PHP加载这个大型数据集(选择3000万行并加载到内存中是不可行的),加载所有这些记录的最佳方法是什么? MySQL 5.X
我正在使用EMS连接到数据库。
答案 0 :(得分:3)
做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;
等
答案 1 :(得分:0)
你可以这样做
INSERT INTO new_table (`col1`,`col2`,`col3`) SELECT `oldcol1`,`oldcol2`,`oldcol3`
FROM old_table LIMIT 0,100000
并通过php循环重复它(具有更改限制起始值)
答案 2 :(得分:0)
您可以通过几种方式包含上面提供的一个用户M_M。我没有使用EMS,也不确定它能做什么,不能做什么。但我已广泛使用Workbench。
一个。
乙