我现在用insert到mysql为什么速度只有30条/s?怎样提高插入的速度?着急啊

我现在是从jsp页面的10000个电话号码通过后台的一个for循环用insert到mysql为什么速度那样慢啊?每秒只有30条,我用的是tomcat容器。请大侠指教一下!... 我现在是从jsp页面的10000个电话号码通过后台的一个for循环用insert 到mysql 为什么速度那样慢啊?每秒只有30条,我用的是tomcat容器。请大侠指教一下!急 展开
 我来答
wufengqiang
2013-07-23
知道答主
回答量:27
采纳率:0%
帮助的人:10.5万
展开全部
  • mysql5的手册中提到,插入一条记录,所需的时间比例大概是:

  1. 连接:(3)

  2. 发送查询给服务器:(2)

  3. 分析查询:(2)

  4. 插入记录:(1x记录大小)

  5. 插入索引:(1x索引)

  6. 关闭:(1)

  • 并且表的大小以logN(B树)的速度减慢索引的插入,因此提高插入速度的方法大概有以下7种:

  1. 一个insert语句包含多个value值;

  2. 使用insert delayed方法;

  3. 使用insert into ...values(select ...from),即select的同时执行insert;

  4. 使用load data infile;

  5. 先禁掉索引,插入后再创建索引;

  6. 写锁表,插入,解锁。原因是索引缓存区仅在所有insert语句完成后才刷新到磁盘上一次;

  7. 增加key_buffer_size值来扩大键高速缓冲区。

selfthing
2012-02-22 · TA获得超过9101个赞
知道小有建树答主
回答量:859
采纳率:0%
帮助的人:290万
展开全部
如果表是innodb类型的话,设置autocommit=0,insert完后commit.
如果表是myisam还这么慢的话,建议把导入内容转为csv,然后执行load data infile 命令。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式