think icon indicating copy to clipboard operation
think copied to clipboard

insertAll 批量添加数据方法慢

Open kekodmc opened this issue 5 years ago • 3 comments

tp5.1 和 tp6 的 insertAll 的方法很慢,添加一万条数据 php 7 要 2秒,php 5.6要 5秒,laravel 5 只要100多毫秒,不过查询一万条数据都差不多,几十毫秒

kekodmc avatar Oct 18 '19 07:10 kekodmc

慢是慢在生成SQL日志 生成日志的时候需要处理参数绑定 关闭调试后就会快了 或者你可以使用limit方法多次操作 反而更快,例如: limit(1000)->insertAll();

liu21st avatar Oct 18 '19 07:10 liu21st

慢是慢在生成SQL日志 生成日志的时候需要处理参数绑定 关闭调试后就会快了 或者你可以使用limit方法多次操作 反而更快,例如: limit(1000)->insertAll();

试过了还是差不多,大佬有时间帮看下,正常的应该是多少,我这个是apache环境的

kekodmc avatar Oct 18 '19 07:10 kekodmc

我测试过6的limit(1000)是有明显提速的 另外不建议在web执行大量数据写入操作 容易超时的 建议命令行指令执行

liu21st avatar Oct 19 '19 00:10 liu21st