我在将大量文本插入MySql数据库时遇到了问题。
我可以获得任何指示(要使用哪些列类型以及我需要知道的任何其他问题),以便我如何实现这一点,代码可以很好地处理少量。
提前致谢。
澄清 文本块大约有7,000个字符。
我遇到的问题是PHP应用程序提示我数据已保存,但是当我查看dbase时,记录尚未存储。
我已将特定列更改为LONG TEXT但这似乎没有做到这一点。
由于
答案 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。