type
status
date
slug
summary
tags
category
icon
password
😀
前言: 在python中 既有同步操作mysql的mysql-connector-python 也有异步操作mysql的aiomysql 本篇文章探索插入相同数量的数据,耗时怎么样。
 

同步代码

notion image

异步代码

notion image

🤗 总结归纳

一条一条插入1000条数据
ㅤ
8连接池
16连接池
同步插入
36.74s
34.53
异步插入
1.14
0.76
在同步代码无论是8连接池还是16连接池,其实都是连接池中的一个连接在操作,表格中的时间不一样也是正常的波动。
可以看到异步插入的效率远高于同步插入。有人说,1000条数据我完全可以使用cursor.executemany 操作呀,只需要0.06s就插入了1000条数据,是的,你当然可以,如果你的服务中插入操作并不频繁,一次插入多条数据也ok,这么操作完全可以,效率比一条一条插入高很多。但是比如在日志等场景下,插入操作比较频繁,异步插入首选。

📎 参考文章

  • 同步代码参考Qanything项目源码
  • 异步代码使用grok3将同步代码进行重构
 
💡
有问题,欢迎您在底部评论区留言,一起交流~