我正在尝试使用 Java 将 1000 万行文本文件输入到 MySQL 表中。该文件有两列由空格字符分隔,我LOAD DATA INFILE
用来将数据输入到一个有两列的表中。第一列包含一个整数,第二列包含一个 varchar。但是数据库中传入的数据不是1000万而是9981770。表的结构是:
st.execute("create table if not exists test
(id bigint NOT NULL, word varchar(80))
ENGINE=MYISAM PARTITION BY KEY(word) PARTITIONS 40;");
我正在对表进行分区以加快插入速度,还因为我想稍后在 word 列上添加一个索引,因为我想检索特定单词的 id。我不认为这会导致问题。LOAD DATA INFILE
命令是:
st.execute("LOAD DATA LOCAL INFILE '"+PATH+
"' INTO TABLE test FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n';");
对于如何解决此问题的任何建议,我将不胜感激。