请问INSERT VALUES(),(),() 和分开写的INSERT VALUES();哪种效率更高?
INSERT INTO Table VALUES(), (), ();
对比
INSERT INTO Table VALUES();
INSERT INTO Table VALUES();
INSERT INTO Table VALUES();
到底那种写法效率更高呢?或者说哪种写法速度更快?
------解决方案--------------------这种高:INSERT INTO Table VALUES(), (), ();
详细查询官网手册有说明。
------解决方案--------------------感觉上应该 INSERT INTO Table VALUES(), (), ();
但仍要看是什么存储引擎。建议还是自己动手测试一下。
------解决方案--------------------感觉是INSERT INTO Table VALUES(), (), ()快。。。没测试过
------解决方案--------------------innodb 支持事务,INSERT INTO Table VALUES(), (), ();显然是一个原子操作,这样可能需要更多的资源以便回滚。
但这些都是从理论上推测,具体则需要进行测试才能知道。
------解决方案--------------------前者快, 特别是几千条记录以上时
mysql_dump导出的文档默认是前者, 恢复的时候你就可以看到对比结果了
------解决方案--------------------INSERT INTO Table VALUES(), (), ();
这个就是批量插入,应该是快得。
------解决方案--------------------是一样的
------解决方案--------------------传多值快,节省了网络I/O,同时server端可以充分利用批处理。