SET autocommit=0;
... SQL import statements ...
COMMIT;
(2)临时取消unique索引的检查:
SET unique_checks=0;
... SQL import statements ...SET unique_checks=1;
这里简单介绍一下,我的测试使用表格和数据,我的create table如下:
CREATE TABLE`tick` (
`id`int(11) NOT NULL,
`val`int(11) DEFAULT NULL,PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
行数为1775232,插入时间大约在十几秒。在测试过程中,因为设计频繁的清空表格,清空表格需要花好几秒钟的时间,建议做类似操作的可以考虑,先drop table,然后再create table,这样速度会明显更快。按照在我的电脑上的测试结果,两者基本没有什么区别,大约都在18秒左右。使用的mysql语句为:
date; mysql -u root -pmysql -e "load data infile './tick.txt' into tabletest.tick;";date;
mysql-u root -pmysql -e "set autocommit=0;set unique_checks=0;load data infile &#