2010-10-21 62 views
3

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

我可以请任何指针(使用哪些列类型&我需要知道的任何其他问题)关于如何实现此目的,代码可以在少量情况下正常工作。

在此先感谢。

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

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

我已将特定列更改为LONG TEXT,但似乎没有办法。

感谢

+0

你能发表一些你遇到问题的例子吗?你试过什么了? – krx 2010-10-21 14:53:21

+0

你遇到了什么问题?该列有多宽,并且您尝试插入多少个字符? – 2010-10-21 14:53:31

+0

TEXT对于7,000个字符是足够的,因为这可以容纳高达65535字节的数据http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html – KennethJ 2010-10-21 15:35:33

回答

0

总之使用LONGBLOB LONGTEXT或,但你更好更精确地descrive问题。

+0

会做,谢谢 – 2010-10-21 15:39:00

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无符号VS INT等

你处理文本数据支持VARCHAR在文本处理在可能的情况。