将大量文本插入MySQL数据库

时间:2010-10-21 14:50:10

标签: php mysql

我在将大量文本插入MySql数据库时遇到了问题。

我可以获得任何指示(要使用哪些列类型以及我需要知道的任何其他问题),以便我如何实现这一点,代码可以很好地处理少量。

提前致谢。

澄清 文本块大约有7,000个字符。

我遇到的问题是PHP应用程序提示我数据已保存,但是当我查看dbase时,记录尚未存储。

我已将特定列更改为LONG TEXT但这似乎没有做到这一点。

由于

2 个答案:

答案 0 :(得分:0)

简而言之,请使用LONGBLOB或LONGTEXT,但您最能更准确地描述问题。

答案 1 :(得分:0)

问题有点模糊但是如果你使用的是innodb并且可以批量加载这里有一些提示:

sort your data file into the primary key order of the target table 
(innodb uses clustered primary keys)

我使用的典型负载数据infile:

truncate <table>;

set autocommit = 0;

load data infile <path> into table <table>...

commit;

可用于增加加载时间的其他优化:

unqiue_checks = 0;
foreign_key_checks = 0;
sql_log_bin = 0;
split the csv file into smaller chunks

就数据类型而言:

使用最小的数据类型,你可以tinyint unsigned vs int等

因为你正在处理文本数据,所以在可能的情况下赞成varchar over text。