PHP循环插入数据库的性能与redis队列插入数据库的性能有差异吗?

新手上路,请多包涵

1.我用PHP循环插入1千条数据,用时70秒左右,把数据放进redis,然后用队列插入数据库,用时10分钟左右,请问为什么两者差异这么大?(PS:循环里只是纯粹的insert,没有用拼接sql语句的形式)
2.如果PHP循环N次数据入库,会造成并发吗?因为我现在循环入库会造成丢数据的问题.

阅读 4.5k
3 个回答

1千条用时70秒? 你该重新学习一下mysql了

  1. redis 连接取数据也有性能消耗
  2. 理论上(各性能强劲)循环入库不会造成数据丢失的情况,但会造成短时间 MYSQL 的负载,如果 MYSQL 的性能不佳,可能会出现 MYSQL 连接不上等各种奇葩问题。一般建议类似的数据,采用 批量 insert(推荐) 或 循环插入的时候加入 sleep,以降低 MYSQL 负载

不要循环插入数据库,最好将数据处理拼接成批量insert语句,单次插入,

推荐问题
宣传栏