库中有5万多条记录,但有的表字段(type:longtext)特别大(用来存放书的章节,每一章放到一个字段中),我查看整个表对应的文件,已经有900M了,现在通过jdbc(ResultSet,PreparedStatement)一次往表里边插入1000到3000条数据时候,要十多分钟,感觉很慢,有什么方法能提高性能,更快一点啊?现在库只有我一人使用,不会因为大量连接导致慢。
已经对longtext字段做了fulltext索引。
已经对longtext字段做了fulltext索引。
conn.setAutoCommit(false);addBatch();
executeBatch();conn.setAutoCommit(true);我直接用jdbc完成插入。
一条insert比多条insert效率更高
是这样:
INSERT INTO table VALUES (?,?,?,?,?)???
[align=center]==== 思想重于技巧 ====
[/align]
[align=center]==== 思想重于技巧 ====
[/align]
2、建议使用INSERT INTO .. VALUES (),(),...();
3、删掉你的索引,或者alter table yourtablename disable keys;
意思就是尽量在一个begin end;块内COMMIT;
2,alert table tablename disable keys;还有没有更好的方法啦,,,请教了。过两三天结贴。:)
这句话写在存储过程中编译通不过啊,我已经把tablename改成我的表名了。
这句话写在存储过程中编译通不过啊,我已经把tablename改成我的表名了。
---------------------------------------------
alert 改成alter另外建议查查mysql 语法.
索引会拖慢insert 速度.
大量插入数据时,可以先关闭索引,然后再重建索引,这个要比直接insert快。手册上是这么建议的。