请问INSERT VALUES(),(),() 和分开写的INSERT VALUES();哪种效率更高?

bigbro001 2012-03-22 09:57:26
INSERT INTO Table VALUES(), (), ();

对比

INSERT INTO Table VALUES();
INSERT INTO Table VALUES();
INSERT INTO Table VALUES();

到底那种写法效率更高呢?或者说哪种写法速度更快?
...全文
389 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigbro001 2012-03-23
  • 打赏
  • 举报
回复
多谢各位的热心解答,昨天测试过了,的确是第一种快一些
iihero_ 2012-03-23
  • 打赏
  • 举报
回复
传多值快,节省了网络I/O,同时server端可以充分利用批处理。
wolfwu_kg5 2012-03-22
  • 打赏
  • 举报
回复
感觉是INSERT INTO Table VALUES(), (), ()快。。。没测试过
ACMAIN_CHM 2012-03-22
  • 打赏
  • 举报
回复
感觉上应该 INSERT INTO Table VALUES(), (), ();

但仍要看是什么存储引擎。建议还是自己动手测试一下。
rucypli 2012-03-22
  • 打赏
  • 举报
回复
是一样的
孙成 2012-03-22
  • 打赏
  • 举报
回复
INSERT INTO Table VALUES(), (), ();
这个就是批量插入,应该是快得。
nicenight 2012-03-22
  • 打赏
  • 举报
回复
这种高:INSERT INTO Table VALUES(), (), ();
详细查询官网手册有说明。
trainee 2012-03-22
  • 打赏
  • 举报
回复
前者快, 特别是几千条记录以上时
mysql_dump导出的文档默认是前者, 恢复的时候你就可以看到对比结果了
ACMAIN_CHM 2012-03-22
  • 打赏
  • 举报
回复
innodb 支持事务,INSERT INTO Table VALUES(), (), ();显然是一个原子操作,这样可能需要更多的资源以便回滚。
但这些都是从理论上推测,具体则需要进行测试才能知道。
bigbro001 2012-03-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 acmain_chm 的回复:]

感觉上应该 INSERT INTO Table VALUES(), (), ();

但仍要看是什么存储引擎。建议还是自己动手测试一下。
[/Quote]
用的是InnoDB,会有差别么?

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧