你可以尝试下一个:
做一个TableShadowCopy。 (如果是活的表,这样你将避免网站挂,否则你可以跳过这一步)
DROP TABLE IF EXISTS __shadow_table; // droping previous shadow table if exists
CREATE TABLE __shadow_table LIKE table; // COPY source table structue
CREATE TABLE IF NOT EXISTS __shadow_table SELECT * FROM table; // possible use of WHERE statemnet
现在,你有你的源表的精确副本,你可以用它做你不必担心什么导入时“网站停止”的后果。
禁用索引在新创建的表
ALTER TABLE __shadow_table DISABLE KEYS;
现在你可以做你的导入表(__shadow_table
)。
尝试LOAD DATA LOCAL INFILE
(需要FILE
许可)
如果您有没有FILE
许可使用BULK INSERT
INSERT INTO __shadow_table (col1, col2, col3, col4) VALUES (1,2,3,4), (6,7,8,9), (20,30,40,60);
启用索引在桌子上(影子表)
ALTER TABLE __shadow_table ENABLE KEYS;
DROP原始表
DROP TABLE IF EXISTS table
RENAME影子表到原始(DROP
PED)名称
RENAME TABLE __shadow_table TO table;
禁用索引而进口允许减少负载和HDD插入数据时搜索。此外,如果表格为InnoDB
,则应禁用FOREIGN_KEY_CHECKS
。 一切都在导入过程中什么是禁用应该由进口月底启用。
给我们看一些代码。 – Tomer 2012-07-26 08:16:13
你要输入什么样的记录? 70.000不是很多。你有没有检查http://dev.mysql.com/doc/refman/5.1/en/load-data.html? – Sherlock 2012-07-26 08:16:36
我从csv文档导入条目,因此它抓住输入到给定表中的行。 – user1264204 2012-07-26 08:24:46